Maison >base de données >tutoriel mysql >Fonctions MySQL vers PDO : une approche sécurisée et moderne ?

Fonctions MySQL vers PDO : une approche sécurisée et moderne ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-10 09:12:401085parcourir

MySQL Functions to PDO: A Secure and Modern Approach?

Convertir les fonctions MySQL en PDO

Pourquoi changer ?

Les fonctions MySQL sont obsolètes en raison de leur architecture obsolète, du manque de fonctionnalités de sécurité et des dépendances d'état globales. PDO (PHP Data Objects) fournit une alternative moderne, sécurisée et orientée objet pour les opérations de base de données.

Se connecter à la base de données

MySQL :

<code class="language-php">$dsn = 'mysql:dbname=databasename;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);</code>

MSSQL :

<code class="language-php">$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);</code>

Exécuter la requête

PDO utilise des instructions préparées pour empêcher l'injection SQL.

Utiliser des variables nommées :

<code class="language-php">$SQL = 'SELECT ID, EMAIL FROM users WHERE user=:username';
$stmt = $dbh->prepare($SQL);
$stmt->execute(['username' => $username]);</code>

Utiliser les variables d'index :

<code class="language-php">$SQL = 'SELECT ID, EMAIL FROM users WHERE user=?';
$stmt = $dbh->prepare($SQL);
$stmt->execute([$username]);</code>

Obtenir des résultats

Utilisez fetchAll :

<code class="language-php">$rows = $stmt->fetchAll();</code>

Utiliser la récupération :

<code class="language-php">while ($row = $stmt->fetch()) {
  echo $row['ID'], $row['EMAIL'];
}</code>

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