Maison >développement back-end >tutoriel php >Puis-je mélanger les API mysql_ et mysqli_ en PHP et comment puis-je vérifier la validité de la connexion ?

Puis-je mélanger les API mysql_ et mysqli_ en PHP et comment puis-je vérifier la validité de la connexion ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-20 00:40:17669parcourir

Can I Mix mysql_ and mysqli_ APIs in PHP, and How Can I Verify Connection Validity?

Interopérabilité des API MySQL en PHP

Question :

Il semble que mélanger mysql_ et mysqli_ Les API en PHP sont possibles. Cependant, lorsque vous tentez de vous connecter et de fermer des connexions à l'aide d'une combinaison de ces API, des erreurs se produisent. Est-il permis de mélanger ces API, et sinon, comment vérifier la validité des connexions ?

Réponse :

Contrairement à l'hypothèse initiale, mélanger mysql_ et Les API mysqli_ en PHP ne sont pas recommandées. Ces API sont distinctes et les ressources qu'elles génèrent ne sont pas interchangeables.

Voici les raisons pour lesquelles le mélange des API MySQL est problématique :

  • Types de ressources incohérents : mysql_ établit des connexions en tant que ressources de type 'mysql', tandis que mysqli_ crée des ressources de type 'mysqli'.
  • Compatibilité des appels API : Les fonctions liées à la configuration et à la gestion des connexions, telles que la connexion, la fermeture et la gestion des erreurs, diffèrent entre mysql_ et mysqli_.

Les extraits de code fournis dans la question démontrent les problèmes qui surviennent lors du mélange de ces API. Le premier extrait de code utilise à la fois mysql_connect() et mysqli_connect_errno(), ce qui entraîne une erreur d'incompatibilité de type lors de la fermeture de la connexion. De même, le deuxième extrait utilise mysql_close() avec une connexion mysqli_, déclenchant également une erreur.

Approche recommandée :

Il est fortement recommandé d'utiliser l'API mysql_ ou l'API mysqli_ pour la connectivité de la base de données. Évitez de mélanger les deux API pour éviter tout problème de compatibilité potentiel ou tout comportement inattendu.

Validation de la connexion :

Pour vérifier la validité d'une connexion à une base de données établie à l'aide de mysqli_, utilisez le code suivant :

if (mysqli_connect_errno()) {
    // Handle connection error
}

Ce code vérifie si une erreur s'est produite lors du processus d'établissement de la connexion et renvoie une valeur non nulle si une erreur est détecté.

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:
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