Maison > développement back-end > tutoriel php > Les API `mysql_` et `mysqli_` de MySQL peuvent-elles être utilisées ensemble en PHP ?

Les API `mysql_` et `mysqli_` de MySQL peuvent-elles être utilisées ensemble en PHP ?

Mary-Kate Olsen
Libérer: 2025-01-04 11:21:35
original
413 Les gens l'ont consulté

Can MySQL's `mysql_` and `mysqli_` APIs Be Used Together in PHP?

Les API MySQL peuvent-elles être mélangées en PHP ?

Le mélange des API MySQL en PHP n'est pas recommandé. PHP fournit deux extensions d'API MySQL : mysql_ et mysqli_. Ces extensions sont distinctes et leurs ressources sont incompatibles.

Le code que vous avez fourni illustre le problème :

$con = mysqli_connect("localhost", "root" ,"" ,"mysql");

if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect";
}else{
    echo "connected";
}

mysql_close($con);
echo "Done";
Copier après la connexion

Ce code génère l'erreur suivante :

Connected
Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9
Done
Copier après la connexion

Cette erreur se produit car mysql_close() attend une ressource MySQL en entrée, mais vous fournissez une ressource mysqli ressource.

Solution :

Pour résoudre ce problème, utilisez une seule extension d'API MySQL de manière cohérente dans tout votre code. Si vous utilisez l'extension mysqli_, utilisez mysqli_connect() et mysqli_close() pour ouvrir et fermer la connexion. De même, si vous utilisez l'extension mysql_, utilisez mysql_connect() et mysql_close().

Vérification de la validité de la connexion :

mysql_connect_errno() et mysqli_connect_errno() peuvent être utilisé pour vérifier si la connexion est valide. Si la valeur renvoyée est 0, la connexion est valide. Sinon, il y a une erreur.

Exemple :

$con = mysqli_connect("localhost", "root" ,"" ,"mysql");

if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect: " . mysqli_connect_error();
}else{
    echo "connected";
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal