Maison > développement back-end > tutoriel php > Comment puis-je réécrire le code PHP existant à l'aide des fonctions obsolètes `mysql_*` ?

Comment puis-je réécrire le code PHP existant à l'aide des fonctions obsolètes `mysql_*` ?

Susan Sarandon
Libérer: 2024-10-26 09:43:30
original
940 Les gens l'ont consulté

How can I rewrite legacy PHP code using deprecated `mysql_*` functions?

Réécriture du code PHP hérité avec des fonctions mysql_* obsolètes

Comme vous l'avez découvert, les fonctions mysql_* en PHP ont été obsolètes pour des raisons de sécurité et des problèmes de stabilité. Pour réécrire efficacement votre code, tenez compte des directives suivantes :

1. Passez au PDO ou aux instructions préparées :

Remplacez les fonctions mysql_* par des instructions PDO ou préparées pour améliorer la sécurité et éviter les vulnérabilités d'injection SQL.

2. Reconfigurer la connexion à la base de données :

La connexion à la base de données doit être établie à l'aide d'une chaîne de connexion au lieu de paramètres individuels. Par exemple :

<code class="php">$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>
Copier après la connexion

3. Supprimez le constructeur et le destructeur inutiles :

Les fonctions telles que __construct et __destruct ne sont plus nécessaires avec PDO. PDO gère la connexion et le nettoyage de la base de données en interne.

4. Sélection simplifiée de la base de données :

Pour sélectionner une base de données avec PDO, utilisez la méthode exec :

<code class="php">$db->exec("USE " . $database);</code>
Copier après la connexion

5. Envisagez l'extension de classe de base de données :

Si vous le souhaitez, vous pouvez étendre PDO pour créer votre propre classe de base de données avec des fonctionnalités personnalisées.

Exemple de réécriture :

Votre script original peut être réécrit comme suit à l'aide de PDO :

<code class="php">class dbConn extends PDO
{
    public function connect()
    {
        try {
            parent::__construct('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
        } catch (PDOException $e) {
            die('Database connection failed: ' . $e->getMessage());
        }
    }

    public function selectDb($database)
    {
        $this->exec("USE " . $database);
        $this->query("SET NAMES 'utf8'");
    }
}</code>
Copier après la connexion

N'oubliez pas que le passage à PDO ou aux instructions préparées améliore non seulement la sécurité, mais simplifie également la maintenance du code et améliore les performances.

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