Maison >base de données >tutoriel mysql >Puis-je simplement échanger les fonctions « mysql_ » avec les fonctions « mysqli_ » en PHP ?

Puis-je simplement échanger les fonctions « mysql_ » avec les fonctions « mysqli_ » en PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-19 19:16:02658parcourir

Can I Simply Swap `mysql_` Functions with `mysqli_` Functions in PHP?

Puis-je remplacer directement les fonctions mysql_ par les fonctions mysqli_ ?

Avec la dépréciation de mysql_ dans PHP 5.5 et sa suppression dans PHP 7, vous vous vous demandez peut-être si vous pouvez simplement échanger les fonctions mysql_ avec celles de mysqli_ dans vos projets. Malheureusement, il ne s'agit pas d'un remplacement simple.

Différences et considérations clés :

  • Bien que les noms de fonctions soient similaires, ils ne sont pas fonctionnellement équivalents.
  • mysqli_ nécessite une connexion explicite comme argument, contrairement aux fonctions mysql_.
  • mysqli_ suit une méthodologie orientée objet, alors que mysql_ est procédurale.
  • mysqli_ offre des fonctionnalités de sécurité améliorées, telles que sous forme d'instructions préparées, pour la protection contre l'injection SQL.

Pour faciliter la transition, vous pouvez utiliser un outil de conversion comme MySQLConverterTool (https://github.com/philip/MySQLConverterTool) pour automatiser la plupart des les remplaçants. Cependant, certains ajustements manuels peuvent encore être nécessaires.

Directives de remplacement de base :

  1. Connexion :
    Créer un nouveau mysqli connexion et enregistrez-la en tant que variable, par exemple $mysqli. Utilisez cette variable pour toutes les opérations de base de données.
  2. Requête :
    Incluez la connexion comme premier argument dans la fonction mysqli_query(), à la fois dans le code procédural et orienté objet.
  3. Récupérer le résultat :
    Dans le code procédural, utilisez mysqli_fetch_assoc() pour récupérer les lignes. Dans le code orienté objet, utilisez $result->fetch_assoc().
  4. Fermer la connexion :
    Fermez la connexion en utilisant mysqli_close() dans le code procédural ou $mysqli-> close() dans le code orienté objet.

Bien que ces directives couvrent les bases, des ajustements supplémentaires peuvent être nécessaires en fonction des fonctions spécifiques que vous utilisez. Reportez-vous à la documentation MySQLi pour des informations complètes.

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