Maison  >  Article  >  développement back-end  >  Comment moderniser votre code MySQL-PHP : remplacer les fonctions obsolètes `mysql_*` par des instructions préparées et des PDO ?

Comment moderniser votre code MySQL-PHP : remplacer les fonctions obsolètes `mysql_*` par des instructions préparées et des PDO ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 18:25:03671parcourir

How to Modernize Your MySQL-PHP Code: Replacing Deprecated `mysql_*` Functions with Prepared Statements and PDO?

Réécriture de l'ancien code MySQL-PHP avec des fonctions mysql_* obsolètes

À mesure que PHP évolue, certaines fonctions deviennent obsolètes, y compris les commandes mysql_*. Pour améliorer la sécurité et la stabilité, ces commandes doivent être remplacées par des instructions préparées et PDO.

Remplacements de clés :

  • Remplacez mysql_connect par PDO::__construct() .
  • Remplacez mysql_select_db par la définition du nom de la base de données dans la chaîne de connexion PDO, par exemple mysql:host=127.0.0.1;dbname=people.

Exemple de code :

<code class="php"> // Old deprecated code
$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');

 // New PDO code
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>

Considérations supplémentaires :

  • Constructeur et destructeur : Les fonctions __construct() et __destruct() ne sont pas nécessaire avec PDO, car il gère la connexion et la fermeture en interne.
  • Sélection de base de données : La sélection de base de données est désormais intégrée dans la chaîne de connexion PDO. Utilisez le paramètre dbname dans la chaîne de connexion pour spécifier la base de données souhaitée.

Exemple de classe :

L'exemple de classe suivant montre comment réécrire la méthode selectDb à l'aide PDO :

<code class="php">class DB
{
    private $pdo;

    public function __construct($host, $db, $user, $pass)
    {
        // Establish PDO connection
        $this->pdo = new PDO("mysql:host=$host;dbname=$db;charset=UTF-8", $user, $pass);
    }

    public function selectDatabase($dbName)
    {
        // No longer required with PDO
    }
}</code>

Conclusion :

En remplaçant les fonctions mysql_* obsolètes par des instructions préparées et un PDO, les développeurs peuvent améliorer la sécurité et la stabilité de leur code tout en simplifiant la base de données. interactions.

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