Maison >développement back-end >tutoriel php >Comment puis-je réécrire l'ancien code MySQL-PHP en utilisant les fonctions obsolètes `mysql_*` avec des instructions préparées modernes et un PDO ?
Réécriture de l'ancien code MySQL-PHP avec des fonctions mysql_* obsolètes
Dans cette ère moderne de développement PHP, il est impératif de rester à jour- à jour avec les meilleures pratiques. L'une des préoccupations les plus urgentes est la dépréciation des fonctions mysql_* au profit d'instructions préparées et de PDO (PHP Data Objects) plus sûrs et plus stables.
Si vous vous trouvez dans la situation malheureuse de travailler avec du code existant qui utilise toujours les fonctions mysql_*, n'ayez crainte ! Voici un guide étape par étape pour vous aider à réussir cette transition.
Conversion des paramètres de connexion
Votre configuration initiale est convertie en chaîne de connexion de PDO comme suit :
<code class="php">// Old: $db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals'); // New: $db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>
Suppression des fonctions redondantes
Les constructeurs (__construct) et les destructeurs (__destruct) ne sont plus nécessaires avec PDO. La connexion est établie automatiquement lors de l'instanciation de l'objet PDO.
Refactoring Database Selection
La fonction selectDb est également rendue redondante. La sélection de la base de données est incorporée dans la chaîne de connexion PDO.
Classe mise à jour
Le code suivant reflète la classe dbConn mise à jour :
<code class="php">class dbConn extends PDO { public function __construct($dsn, $user, $password, $options = []) { parent::__construct($dsn, $user, $password, $options); } }</code>
Extensibilité
Si vous le souhaitez, vous pouvez étendre depuis PDO pour créer votre propre classe de base de données personnalisée. Cela permet plus de flexibilité et de fluidité dans votre code.
Exemple d'utilisation
<code class="php">$db = new dbConn('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass'); // Query using prepared statements $statement = $db->prepare('SELECT * FROM users WHERE name = ?'); $statement->execute([$name]);</code>
Conclusion
Adoption du PDO dans votre code PHP apporte une sécurité, une stabilité et une convivialité améliorées pour les développeurs. En suivant ces étapes, vous pouvez réécrire avec succès l'ancien code mysql_* et améliorer vos pratiques de développement PHP.
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!