Gebruik van de PDO extensie

Voor het gebruik van de PDO extensie moeten we natuurlijk wel eerst weten of de database die we willen gebruiken wel ondersteund wordt. Om PDO met een bepaalde database te gebruiken, moeten we de juiste PDO driver geînstalleerd hebben.

Voorbeeld 1: Controleren welke databasedrivers geïnstalleerd zijn

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
echo '<pre>';
print_r(PDO::getAvailableDrivers());
echo '</pre>';
?>

In mijn geval levert dat het volgende resultaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
Array
(
    [0] => sqlite2
    [1] => pgsql
    [2] => mysql
)

Dit betekent dat ik op dit moment de juiste drivers geînstalleerd heb om te werken met de database systemen MySQL, PostgreSQL en SQLite.

Maar ook andere populaire databases worden door PDO ondersteund zoals in onderstaand lijstje te zien is:

MySQL
PostgreSQL
SQLite
Microsoft SQL Server
ODBC
Oracle

Verbinden met een database
Het verbinden met een database met behulp van PDO is kinderlijk eenvoudig. Het komt eigenlijk alleen neer op het aanmaken van een nieuwe instantie van de PDO klasse. Natuurlijk moet je bij het instantieren van de klasse wel de juiste paramters meegeven.

Onderstaande voorbeelden laten van enkele databases zien hoe er een verbinding mee gemaakt wordt.

Voorbeeld 2: Een MySQL verbinding opzetten
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$db
= new PDO('mysql:host=localhost;dbname=test', 'user', 'password');
?>

Voorbeeld 3: Een pgSQL verbinding opzetten
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$db
= new PDO('pgsql:host=localhost;dbname=test', 'user', 'password');
?>

Voorbeeld 4: Een SQLite verbinding opzetten
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$db
= new PDO('sqlite:/path/to/database.sdb');
?>

Voorbeeld 5: Een Oracle verbinding opzetten
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$db
= new PDO('oci:', 'user', 'password');
?>

Dat je voor het opzetten van een verbinding met elke willekeurige database telkens dezelfde regel PHP kunt gebruiken, heeft te maken met het feit dat de eigenlijke verbinden met de database achter de schermen afgehandeld wordt. De meegegeven parameters worden door de extensie geinterpreteerd en een verbinding met de juiste database wordt gemaakt.

Sluiten van een verbinding
Ook het sluiten van een verbinding is kinderlijk eenvoudig en voor elke database hetzelfde. Het is niets meer dan het vernietigen van de instantie van de PDO klasse.

Voorbeeld 6: Sluiten van een verbinding
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// Maken van verbinding
$db = new PDO('mysql:host=localhost;dbname=test', 'user', 'password');

// Sluiten van verbinding
$db = NULL;
?>

Het handmatig sluiten van een databaseverbinding is in principe niet nodig. Aangezien het bestaan van de verbinding direct afhangt van het bestaan van de instantie van de PDO klasse, zal de verbinding verbroken worden zodra een script eindigt. Het veelvuldig tussendoor sluiten en openen van verbindingen kan tot een zeker performance verlies leiden, zeker als je verbinding maakt met een externe database server.

In de rest van deze tutorial zal ik slechts nog voorbeelden geven van verbindingen met een MySQL database. Dit is immers nog steeds de meest gebruikte database achter websites en de meeste lezers zullen hier ervaring mee hebben.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Gebruik van de PDO extensie
  3. Uitvoeren van queries
  4. Foutafhandeling
  5. Prepared statements
  6. Transacties
  7. Slotwoord en referenties

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.