Maison > développement back-end > tutoriel php > Pourquoi devrais-je éviter de mélanger les API « mysql_ » et « mysqli_ » en PHP ?

Pourquoi devrais-je éviter de mélanger les API « mysql_ » et « mysqli_ » en PHP ?

Susan Sarandon
Libérer: 2024-12-26 04:38:11
original
303 Les gens l'ont consulté

Why Should I Avoid Mixing `mysql_` and `mysqli_` APIs in PHP?

Mélanger les API MySQL en PHP

L'API MySQL PHP fournit deux interfaces pour interagir avec les bases de données MySQL : mysql_ et mysqli_. Bien qu'il puisse sembler pratique de mélanger ces API, cette pratique est strictement déconseillée.

Impossible de mélanger les API

Fondamentalement, mysql_ et mysqli_ sont des API distinctes avec des architectures distinctes et incompatibles. types de ressources. En tant que tel, vous ne pouvez pas utiliser les fonctions d'une API sur des ressources créées par l'autre.

Exemple d'erreur

L'exemple de code fourni illustre le problème lors de la tentative de mélange des deux. API :

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

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

mysqli_close($con);  // Error: Incompatible resource type
Copier après la connexion

Ce code tente d'utiliser mysqli_connect_errno() sur une ressource créée par mysql_connect(), ce qui entraîne un incompatibilité.

Vérification de la validité de la connexion

Pour vérifier si une connexion est valide, utilisez la fonction de rapport d'erreurs de l'API correspondante :

  • mysql_: mysqli_connect_error() ou mysqli_connect_errno()
  • mysqli_:mysqli_error() ou mysqli_errno()

Conclusion

Il est essentiel de respectez les limites de l'API lorsque vous travaillez avec différentes interfaces MySQL. L'utilisation de fonctions ou de ressources incompatibles peut entraîner des erreurs et un comportement imprévisible.

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!

source:php.cn
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