PDO - l'abréviation de PHP Data Object. Afin de fournir une interface de connexion unifiée pour plusieurs bases de données, la couche inférieure de PDO doit coopérer avec le pilote de données PDO de la base de données correspondante pour faire fonctionner la base de données. PDO est la méthode de connexion à la base de données officiellement recommandée par PHP aujourd'hui Ses avantages sont :
1. PDO est une opération de base de données à interface véritablement unifiée implémentée au niveau. bas Interface, quel que soit le type de base de données utilisée dans le backend, si le code est encapsulé, les appels de la couche application sont fondamentalement les mêmes. Lorsque la base de données backend est modifiée, le code de la couche application n'a fondamentalement pas besoin d'être modifié (. Apprentissage recommandé : Programmation PHP du débutant à compétent)
2. PDO prend en charge des opérations de fonctionnalités de base de données plus avancées, telles que : la planification de procédures stockées, etc., qui n'est pas prise en charge par MySQL. bibliothèque native.
3. PDO est la bibliothèque PECL officielle de PHP. Sa compatibilité et sa stabilité doivent être supérieures à celles de l'extension MySQL. Vous pouvez directement utiliser la commande pecl upgrade pdo pour mettre à niveau. . PDO peut empêcher l'injection SQL et garantir que la base de données est plus sécurisée. Le principe du PDO empêchant l'injection SQL
Après PHP 5.1.0, le PDO est activé par défaut Vous pouvez vérifier l'état d'ouverture du PDO via la fonction phpinfo() :
<.>Pré-traitement PDOLorsque nous utilisons la base de données pour exécuter une requête, le système de gestion de base de données (SGBD) compilera la requête et optimisera la requête. L'utilisation du prétraitement PDO peut faire en sorte que ce processus se produise uniquement. lors de la première requête. Dans les requêtes identiques suivantes, seuls les paramètres liés doivent être remplacés, ce qui permet d'économiser le temps d'une compilation répétée. De plus, l'utilisation de la liaison des paramètres PDO peut également éviter des problèmes de sécurité tels que l'injection SQL.
Démonstration de code :<?phptry{ $dbh=new PDO('mysql:host=localhost;dbname=testDB','root',''); $stmt=$dbh->prepare("INSERT users (user_name,sex) VALUES (:user_name,:sex)"); $stmt->bindParam(':user_name',$name); $stmt->bindParam(":sex",$sex); //插入一行 $name="yang001"; $sex="M"; $stmt->execute(); //再次插入一行 $name="yang002"; $sex="F"; $stmt->execute(); }catch (PDOException $e){ print "Error ! : ".$e->getMessage(); die(); }
Nous utilisons des instructions de requête prétraitées pour récupérer les résultats :
<?phptry{ $dbh=new PDO('mysql:host=localhost;dbname=testDB','root',''); $stmt=$dbh->prepare("SELECT * FROM users WHERE user_name=:user_name "); $stmt->bindParam(':user_name',$name); //插入一行 $name="yang001"; if($stmt->execute()){ while ($row=$stmt->fetch(PDO::FETCH_ASSOC)){ print_r($row); } } }catch (PDOException $e){ print "Error ! : ".$e->getMessage(); die(); }
Le les résultats sont les suivants :
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!