"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-03
Parcourir:849

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

 // 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');

Considérations supplémentaires :

  • Constructeur et Destructeur : Les fonctions __construct() et __destruct() ne sont pas nécessaires avec PDO, car elles gèrent 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 : 

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

Conclusion :

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

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3