Tutoriel PHP PDO

Tutoriel PHP PDO
La base de données est une partie très importante de toute application Web pour stocker et récupérer les données de l'application. La base de données est accessible de plusieurs manières en PHP. PDO et MySQLI sont les extensions PHP pour accéder aux bases de données à l'aide de PHP. Le PDO (PHP Data Objectts) est introduit d'abord dans PHP version 5.1 pour établir la connexion avec la base de données pour effectuer les différents types de tâches de base de données. Il fournit une interface légère pour accéder à la base de données via un script PHP. L'abstraction de données de la base de données n'est pas fournie par PDO, mais les données sont accessibles à partir de plusieurs bases de données plus facilement à l'aide de l'OPD. La plupart des bases de données populaires sont prises en charge par PDO telles que MySQL, SQLite, Oracle, MS SQL Server, PostgreSQL, etc. Les avantages de l'utilisation de l'OPD, la différence entre l'APD et MySQLI, et la façon de connecter et d'accès à la base de données MySQL à l'aide de l'OPD sont décrites dans ce tutoriel.

Avantages de l'APD

Certains avantages de l'utilisation de l'APD pour accéder aux bases de données sont mentionnés dans les éléments suivants:

  • De nombreuses fonctions d'assistance existent dans l'OPD pour automatiser les différents types de tâches de développement.
  • Il assure la sécurité des pirates à l'aide de déclarations préparées tout en accédant aux données de la base de données.
  • Il contient de meilleures fonctionnalités de gestion des erreurs pour gérer les différents types d'erreurs.
  • Plusieurs bases de données sont accessibles à l'aide de l'API unifiée de l'OPD.

Différences entre l'APD et MySQLI

PDO Mysqli
Il fonctionne d'une manière orientée objet. Il peut fonctionner à la fois de manière orientée objet et procédurale.
Il prend en charge de nombreux pilotes de base de données. Il prend en charge MySQL uniquement.
Il prend en charge la déclaration préparée côté client. Il ne prend pas en charge la déclaration préparée côté client.
C'est plus sûr que MySqli. Il est moins sûr que PDO.
Il prend en charge les paramètres nommés. Il ne prend pas en charge les paramètres nommés.

Créez la base de données MySQL

Exécutez la commande SQL suivante pour créer une base de données nommée "test«Pour vérifier les utilisations de l'APD pour effectuer les différents types de tâches de base de données:

Créer un test de base de données;

Créer une table

Exécutez la commande SQL suivante pour créer un tableau nommé "livres" à l'intérieur de "test" base de données:

Créer des livres de table (
ID INT (255) Non Null Primary Key Auto_increment,
titre varchar (150) pas null,
Auteur Varchar (150) pas null
) Moteur = inNODB;

Établir une connexion à la base de données à l'aide de l'OPD

Créez un fichier PHP avec le script suivant qui fait la connexion avec le «test»Base de données à l'aide de l'APD:

// Initialiser les variables de connexion
$ hostname = "localhost";
$ database = "test";
$ user = "root";
$ mot de passe = "12345";
essayer

// Créer une connexion à la base de données à l'aide de l'OPD
$ db_connection = new PDO ("mysql: host = $ hostname; dbname = $ database", $ utilisateur, $ mot de passe);

catch (exception $ e) $ instruction-> exécuter ([[
// Imprimer le message d'erreur
Echo "Impossible de se connecter avec la base de données." . $ e-> getMessage ();

?>

Insérer une ligne dans une table

Créez un fichier PHP avec le script suivant qui insère un enregistrement dans le livres table à l'aide d'une connexion PDO. Le fichier de connexion de la base de données est inclus au début du script à l'aide de la fonction include_once (). Une déclaration préparée pour l'insertion de requête est créée pour insérer un nouvel enregistrement dans la table.

// Créer une connexion de base de données
include_once 'PDO_CONNECT.php ';
// Définit des valeurs pour insérer un enregistrement dans le tableau des livres
$ title = 'La joie de la programmation PHP: un guide du débutant';
$ auteur = 'Alan Forbes';
// Définissez la requête d'insertion
$ query = 'Insérer dans les livres (id, titre, auteur) valeurs (: id ,: titre ,: auteur)';
// Créer une déclaration préparée
$ instruction = $ db_connection-> prépare ($ query);
// Exécuter la requête d'insertion
$ instruction-> EXECUTE ([
': id' => null,
': titre' => $ title,
': auteur' => $ auteur
]));
Echo «Un enregistrement est inséré avec succès»;
?>

Sortir:
La sortie suivante apparaît après l'exécution du script précédent si un nouvel enregistrement est inséré avec succès:

Sélectionnez une données dans un tableau

Créez un fichier PHP avec le script suivant qui sélectionne tous les enregistrements du livres table à l'aide d'une connexion PDO. Le fichier de connexion de la base de données est inclus au début du script à l'aide de la fonction include_once (). Une instruction préparée pour une requête sélectionnée est créée pour lire tous les enregistrements du tableau.

// Créer une connexion de base de données
include_once 'PDO_CONNECT.php ';
// Définit la requête pour lire tous les enregistrements
$ query = 'select * from books';
// Créer une déclaration préparée
$ instruction = $ db_connection-> requête ($ query);
// Lire tous les enregistrements du tableau des livres
$ books = $ instruction-> fetchall (PDO :: fetch_assoc);
if ($ books)
// itérer et imprimer chaque enregistrement de la table
foreach ($ books as $ book)
écho "Nom du livre: ".$ book ['titre'] . "
"
écho "Nom de l'auteur: ".$ book ['auteur'] . "
"

Sortir:
La sortie suivante apparaît après l'exécution du script précédent si le tableau contient un enregistrement:

Mettez à jour les données du tableau

Créez un fichier PHP avec le script suivant qui met à jour un enregistrement du livres table à l'aide d'une connexion PDO. Le fichier de connexion de la base de données est inclus au début du script à l'aide de la fonction include_once (). Une instruction préparée pour une requête de mise à jour est créée pour mettre à jour un enregistrement du tableau des livres qui contient la valeur d'ID de 1.

// Créer une connexion de base de données
include_once 'PDO_CONNECT.php ';
// Définissez de nouvelles valeurs pour mettre à jour
$ book = [
'id' => 1,
'title' => 'php & mysql novice to ninja',
'auteur' => 'kevin yank'
]]
// Définissez la requête de mise à jour
$ query = "Mettre à jour les livres
Set title =: title, auteur =: auteur
Où id =: id ";
// Créer une déclaration préparée
$ instruction = $ db_connection-> prépare ($ query);
// lier les paramètres pour l'instruction préparée
$ instruction-> bindParam (': id', $ book ['id'], pdo :: param_int);
$ instruction-> bindParam (': title', $ book ['title']);
$ instruction-> bindParam (': auteur', $ book ['auteur']);
// Exécuter la requête de mise à jour
if ($ statut-> execute ())
Echo 'Les informations du livre ont été mises à jour.';;

Sortir:
La sortie suivante apparaît après l'exécution du script précédent si l'enregistrement de la table est mis à jour avec succès:

Supprimer une ligne de la table

Créez un fichier PHP avec le script suivant qui supprime un enregistrement du livres table à l'aide d'une connexion PDO. Le fichier de connexion de la base de données est inclus au début du script à l'aide de la fonction include_once (). Une déclaration préparée pour la requête de suppression est créée pour supprimer un enregistrement du tableau des livres qui contient la valeur d'ID de 1.

// Créer une connexion de base de données
include_once 'PDO_CONNECT.php ';
// définit la requête pour supprimer
$ query = 'supprimer des livres où id =: id';
$ id = 1;
// Définir la déclaration de préparation
$ instruction = $ db_connection-> prépare ($ query);
$ instruction-> bindParam (': id', $ id, pdo :: param_int);
// Exécuter la requête de suppression
if ($ statut-> execute ())
Echo 'Un enregistrement a été supprimé.';;

Sortir:
La sortie suivante apparaît après l'exécution du script précédent si l'enregistrement du tableau est supprimé avec succès:

Conclusion

Différentes fonctionnalités de l'OPD et la façon d'utiliser l'APD pour établir des connexions de base de données et l'implémentation de l'opération CRUD sont affichées dans ce tutoriel en créant la base de données MySQL avec un tableau.