Je reçois cet avertissement, mais le programme fonctionne toujours correctement.
Le code MySQL me montre un message en PHP:
Obsolète: mysql_connect (): L'extension mysql est obsolète et sera supprimée à l'avenir: utilisez plutôt mysqli ou PDO dans C: \ xampp \ htdocs \ task \ media \ new \ connect.inc.php sur la ligne 2
Ma connect.inc.php
page est
<?php
$connect = mysql_connect('localhost','root','');
mysql_select_db('dbname');
?>
Qu'est-ce que cela signifie et comment puis-je éliminer le message?
php
mysql
function
deprecated
Mubashar Ahmed Hassan
la source
la source
Réponses:
Il existe quelques solutions à votre problème.
La manière avec MySQLi serait comme ceci:
Pour exécuter des requêtes de base de données est également simple et presque identique à l'ancienne méthode:
Désactivez tous les avertissements obsolètes, y compris ceux de mysql_ *:
L'emplacement exact du fichier et de la ligne à remplacer est "/System/Startup.php> line: 2" error_reporting (E_All); remplacer par error_reporting (E_ALL ^ E_DEPRECATED);
la source
Vous pouvez supprimer l'avertissement en ajoutant un '@' avant mysql_connect.
mais comme l'avertissement vous le dit, utilisez mysqli ou PDO car l'extension mysql sera supprimée à l'avenir.
la source
Pour supprimer le message d'obsolescence pour cela seul (et rester informé des autres abandons dans votre code), vous pouvez préfixer la connexion avec @:
la source
Fonctionnalités obsolètes dans PHP 5.5.x
L' extension MySQL d'origine est désormais obsolète et générera des
E_DEPRECATED
erreurs lors de la connexion à une base de données. À la place, utilisez les extensions ** MYSQLi ou PDO_MySQL . **Syntaxe:
En outre, remplacer toutes les
mysql_*
fonctions enmysqli_*
fonctionsau lieu de
la source
Cet avertissement s'affiche car une nouvelle extension est apparue. Cela suppose que vous pouvez toujours utiliser l'ancien, mais dans certains cas, c'est impossible.
Je vous montre comment je fais la connexion avec la base de données. Il vous suffit de changer les valeurs des variables.
Mon fichier de connexion : connection.php
L'extension change également lors de l'exécution d'une requête.
Fichier de requête: "example.php"
Cette méthode utilise l' extension améliorée MySQL , mais vous pouvez utiliser PDO (PHP Data Objects) .
La première méthode ne peut être utilisée qu'avec les bases de données MySQL, mais PDO peut gérer différents types de bases de données.
Je vais vous donner un exemple mais il faut dire que je n'utilise que le premier, donc veuillez me corriger s'il y a une erreur.
Mon fichier de connexion PDO: "PDOconnection.php"
Fichier de requête (PDO): "example.php"
Pour finir, dites simplement que vous pouvez bien sûr cacher l'avertissement, mais ce n'est pas une bonne idée car cela peut vous aider à gagner du temps à l'avenir si une erreur se produit (nous connaissons tous la théorie, mais si vous travaillez parfois beaucoup d'heures ... Le cerveau n'est pas là ^^).
la source
En effet, vous utilisez PHP 5.5 ou votre serveur Web aurait été mis à niveau vers la version 5.5.0.
Les
mysql_*
fonctions sont obsolètes depuis la version 5.5.0Source
la source
mysql_ *, est officiellement obsolète à partir de PHP v5.5.0 et sera supprimé à l'avenir.
Utilisez la fonction mysqli_ * ou pdo
Lire Oracle Conversion vers MySQLi
la source
C'est juste un avertissement qui vous dit de commencer à utiliser de nouvelles méthodes de connexion à votre base de données, telles que les objets pdo
http://code.tutsplus.com/tutorials/php-database-access-are-you-doing-it-correctly--net-25338
Le manuel est ici
http://www.php.net/manual/en/book.pdo.php
la source
L'avertissement «obsolète» signifie en général que vous essayez d'utiliser une fonction obsolète. Cela ne signifie pas que votre code ne fonctionnera pas, mais vous devriez envisager de le refactoriser.
Dans votre cas, les fonctions mysql_ sont obsolètes. Si vous voulez en savoir plus à ce sujet, voici déjà une bonne explication: Pourquoi ne devrais-je pas utiliser les fonctions mysql_ * en PHP?
la source
Cela résoudra votre problème.
la source
La classe PDO remplace ces méthodes. Exemple pour Mysql ou MariaDB:
Source: Classe AOP
la source
Si vous avez fait votre codage alors
est une bonne option, mais si vous êtes au début, vous devriez certainement utiliser mysqli.
la source
Eh bien, je viens de faire face à un tel message aujourd'hui lorsque je suis passé à un nouvel hébergement! de toute façon j'ai essayé de changer le "mySQL" en "mySQLi" mais ne fonctionne pas, donc j'ai fait ceci:
L'astuce consiste à désactiver le rapport d'erreur :)
Pour PHP 7+, vous pouvez utiliser ce code à la place:
Merci
la source
ini_set('display_errors', 0); ini_set('log_errors', 1);
. Je mettrai à jour la réponse ci-dessus. Merci.mettez ceci dans votre page php.
la source
Ajouter une
@
œuvre pour moi!J'ai testé avec
error_reporting(E_ALL ^ E_DEPRECATED);
la source