Tutorial PDO PHP

Tutorial PDO PHP
Il database è una parte molto importante di qualsiasi applicazione Web per archiviare e recuperare i dati dall'applicazione. Il database è accessibile in più modi in PHP. PDO e MySQLI sono le estensioni PHP per accedere ai database utilizzando PHP. Il PDO (PHP Data Objects) viene introdotto per primo nella versione PHP 5.1 Per effettuare la connessione con il database per eseguire i diversi tipi di attività di database. Fornisce un'interfaccia leggera per accedere al database tramite uno script PHP. L'astrazione dei dati del database non è fornita da PDO ma è possibile accedere ai dati da più database utilizzando PDO. La maggior parte dei database popolari sono supportati da PDO come MySQL, SQLite, Oracle, MS SQL Server, PostgreSQL, ecc. I vantaggi dell'utilizzo di PDO, la differenza tra PDO e MySQLI e il modo di connettersi e accedere al database MySQL utilizzando PDO sono descritti in questo tutorial.

Vantaggi di PDO

Alcuni vantaggi dell'utilizzo di PDO per accedere ai database sono menzionati nel seguente:

  • Molte funzioni di supporto esistono in PDO per automatizzare i diversi tipi di attività di sviluppo.
  • Fornisce sicurezza dagli hacker che utilizzano istruzioni preparate durante l'accesso ai dati dal database.
  • Contiene migliori funzionalità di gestione degli errori per gestire i diversi tipi di errori in modo più efficiente.
  • È possibile accedere a più database utilizzando l'API unificata di PDO.

Differenze tra PDO e Mysqli

PDO Mysqli
Funziona in modo orientato agli oggetti. Può funzionare in modo sia orientato agli oggetti che procedurali.
Supporta molti driver di database. Supporta solo mysql.
Supporta l'istruzione preparata sul lato client. Non supporta l'istruzione preparata sul lato client.
È più sicuro di mysqli. È meno sicuro di PDO.
Supporta i parametri nominati. Non supporta i parametri nominati.

Crea il database MySQL

Esegui il seguente comando SQL per creare un database chiamato "test"Per controllare gli usi di PDO per eseguire i diversi tipi di attività di database:

Creare test del database;

Crea una tabella

Esegui il seguente comando SQL per creare una tabella denominata "libri" dentro il "test" Banca dati:

Crea libri da tavolo (
Id int (255) non null Key Primary Auto_InCrement,
Titolo Varchar (150) non null,
autore varchar (150) non null
) Motore = innodB;

Crea una connessione al database utilizzando PDO

Crea un file PHP con il seguente script che effettua la connessione con "test"Database utilizzando PDO:

// Inizializza le variabili di connessione
$ hostname = "localhost";
$ database = "test";
$ user = "root";
$ password = "12345";
Tentativo

// Crea connessione al database utilizzando PDO
$ db_connection = new pDo ("mysql: host = $ hostname; dbname = $ database", $ utente, $ password);

catch (eccezione $ e) $ istruzione-> Esecute ([
// Stampa Messaggio di errore
Echo "Impossibile connettersi con il database." . $ e-> getMessage ();

?>

Inserisci una riga in un tavolo

Crea un file PHP con il seguente script che inserisce un record in libri Tabella usando una connessione PDO. Il file di connessione del database è incluso all'inizio dello script utilizzando la funzione inclusi_once (). Viene creata un'istruzione preparata per l'inserto query per inserire un nuovo record nella tabella.

// Crea una connessione al database
Include_once 'pdo_connect.php ';
// Imposta valori per l'inserimento di un record nella tabella dei libri
$ title = 'La gioia della programmazione PHP: una guida per principianti';
$ autore = 'Alan Forbes';
// Imposta la query Inserisci
$ query = 'insert in libri (id, titolo, autore) valori (: id ,: title ,: autore)';
// Crea una dichiarazione preparata
$ istruzione = $ db_connection-> prepara ($ query);
// Esegui la query Inserisci
$ Dichiarazione-> Esegui ([
': id' => null,
': title' => $ title,
': autore' => $ autore
]);
echo "un record è inserito con successo";
?>

Produzione:
Viene visualizzato il seguente output dopo l'esecuzione dello script precedente se un nuovo record viene inserito correttamente:

Seleziona un dati da una tabella

Crea un file PHP con il seguente script che seleziona tutti i record del libri Tabella usando una connessione PDO. Il file di connessione del database è incluso all'inizio dello script utilizzando la funzione inclusi_once (). Viene creata un'istruzione preparata per una query selezionata per leggere tutti i record dalla tabella.

// Crea una connessione al database
Include_once 'pdo_connect.php ';
// Imposta query per leggere tutti i record
$ query = 'select * from Books';
// Crea una dichiarazione preparata
$ istruzione = $ db_connection-> query ($ query);
// Leggi tutti i record dalla tabella dei libri
$ books = $ dichiarazioni-> fethall (pdo :: fetch_assoc);
if ($ books)
// iterare e stampare ogni record dalla tabella
foreach ($ books as $ book)
eco "Nome del libro: ".$ book ['title'] . "
";
eco "Nome dell'autore: ".$ book ['autore'] . "
";

Produzione:
Viene visualizzato il seguente output dopo l'esecuzione dello script precedente se la tabella contiene un record:

Aggiorna un dati dalla tabella

Crea un file PHP con il seguente script che aggiorna un record del libri Tabella usando una connessione PDO. Il file di connessione del database è incluso all'inizio dello script utilizzando la funzione inclusi_once (). Viene creata una dichiarazione preparata per una query di aggiornamento per aggiornare un record della tabella dei libri che contiene il valore ID di 1.

// Crea una connessione al database
Include_once 'pdo_connect.php ';
// imposta nuovi valori sugli aggiornamenti
$ book = [
'id' => 1,
'title' => 'php e mysql novizi a ninja',
'Autore' => 'Kevin Yank'
];
// Imposta la query di aggiornamento
$ query = "Aggiorna libri
Imposta titolo =: titolo, autore =: autore
Dove id =: id ";
// Crea una dichiarazione preparata
$ istruzione = $ db_connection-> prepara ($ query);
// Bind Params per l'istruzione preparata
$ istruzione-> bindParam (': id', $ book ['id'], pdo :: param_int);
$ dichiarazioni-> bindParam (': title', $ book ['title']);
$ dichiarazioni-> bindParam (': autore', $ book ['autore']);
// Esegui la query di aggiornamento
if ($ istruzione-> esecuto ())
echo 'Le informazioni sul libro sono state aggiornate.';

Produzione:
Viene visualizzato il seguente output dopo l'esecuzione dello script precedente se il record della tabella viene aggiornato correttamente:

Elimina una riga dalla tabella

Crea un file PHP con il seguente script che elimina un record del libri Tabella usando una connessione PDO. Il file di connessione del database è incluso all'inizio dello script utilizzando la funzione inclusi_once (). Viene creata una dichiarazione preparata per la query Elimina per eliminare un record della tabella dei libri che contiene il valore ID di 1.

// Crea una connessione al database
Include_once 'pdo_connect.php ';
// Imposta query per eliminare
$ query = 'elimina dai libri dove id =: id';
$ id = 1;
// imposta la dichiarazione prepara
$ istruzione = $ db_connection-> prepara ($ query);
$ istruzione-> bindParam (': id', $ id, pdo :: param_int);
// Esegui la query Elimina
if ($ istruzione-> esecuto ())
Echo 'un record è stato eliminato.';

Produzione:
Viene visualizzato il seguente output dopo l'esecuzione dello script precedente se il record della tabella viene eliminato correttamente:

Conclusione

Diverse caratteristiche di PDO e il modo di utilizzare PDO per creare connessioni di database e implementare l'operazione CRUD sono mostrati in questo tutorial creando il database MySQL con una tabella.