Comment résoudre l'erreur de connexion à la base de données dans le problème de compatibilité PHP5.6 vers PHP7.4 ?
Avec la mise à jour de la version PHP, il y a des problèmes de compatibilité de PHP5.6 vers PHP7.4. L'un des problèmes courants concerne les erreurs de connexion à la base de données. Cet article décrira comment résoudre ce problème et donnera des exemples de code correspondants.
Dans PHP5.6 et les versions précédentes, nous utilisons généralement l'extension mysql pour connecter et faire fonctionner la base de données. À partir de PHP7.0, l'extension mysql a été obsolète et remplacée par l'extension mysqli et l'extension PDO. Par conséquent, lors de la mise à niveau du code de PHP5.6 vers PHP7.4, le code de connexion à la base de données doit être modifié.
Tout d'abord, si votre code utilise l'extension mysql, vous devez la remplacer par l'extension mysqli. Le code pour modifier la connexion à la base de données est le suivant :
// PHP5.6及之前版本的数据库连接代码 $conn = mysql_connect($servername, $username, $password); mysql_select_db($dbname, $conn); // 修改为PHP7.4的数据库连接代码 $conn = mysqli_connect($servername, $username, $password, $dbname);
Dans l'extension mysqli, le nom de la fonction de connexion devient "mysqli_connect", et le nom de la base de données doit être transmis comme quatrième paramètre.
De plus, il est à noter qu'à partir de PHP7.4, l'utilisation de "localhost" comme nom d'hôte lors de la connexion à la base de données n'est plus supportée. Si vous utilisez "localhost" lors de la connexion à la base de données, la connexion échouera. La solution à ce problème est de remplacer « localhost » par « 127.0.0.1 » comme indiqué ci-dessous :
// 使用"127.0.0.1"代替"localhost"连接数据库 $servername = "127.0.0.1";
Ensuite, nous devons modifier le code qui exécute la requête SQL. Dans PHP5.6 et les versions précédentes, nous utilisons généralement la fonction "mysql_query" pour exécuter des requêtes SQL. En PHP7.4, vous devez utiliser la fonction "mysqli_query" pour exécuter des requêtes. Le code modifié ressemble à ceci :
// PHP5.6及之前版本的SQL查询代码 $result = mysql_query($sql); // 修改为PHP7.4的SQL查询代码 $result = mysqli_query($conn, $sql);
De même, la fonction "mysql_query" doit être remplacée par la fonction "mysqli_query" et la connexion à la base de données est transmise à la fonction comme premier paramètre.
En plus de l'extension mysqli, l'extension PDO est également un bon choix pour connecter et exploiter des bases de données. Si vous utilisez l'extension PDO dans votre code, le code qui doit modifier la connexion à la base de données est le suivant :
// PHP5.6及之前版本的数据库连接代码 $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // 修改为PHP7.4的数据库连接代码 $conn = new PDO("mysqli:host=$servername;dbname=$dbname", $username, $password);
Dans l'extension PDO, la méthode de connexion à la base de données est implémentée en instanciant la classe PDO, et le "mysql" dans le paramètre doit être remplacé par "mysqli".
Pour résumer, pour résoudre l'erreur de connexion à la base de données dans le problème de compatibilité PHP5.6 vers PHP7.4, vous devez d'abord remplacer l'extension mysql par l'extension mysqli ou l'extension PDO. Et notez que lors de la connexion à la base de données, remplacez « localhost » par « 127.0.0.1 ». De plus, le code qui exécute la requête SQL doit être modifié en conséquence.
Avec les modifications ci-dessus, le code peut être mis à niveau avec succès de PHP5.6 vers PHP7.4 et les erreurs de compatibilité causées par les connexions à la base de données peuvent être résolues. J'espère que le contenu de cet article pourra vous être utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!