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

Susan Sarandon
Libérer: 2024-10-26 18:25:03
original
615 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!