Met behulp van PHP Data Objects (PDO) kunt u eenvoudig en veilig voorbereid(g)de queries uitvoeren om de gegevens in uw databases te beheren. PDO biedt een gestandaardiseerde interface voor toegang tot databases, waardoor de kans op SQL-injecties vermindert en de code onderhoudbaarder wordt. Hier is een overzicht van hoe u voorbereidende queries kunt uitvoeren met PDO, inclusief enkele voorbeelden en verwijzingen naar betrouwbare bronnen.
- Stap 1: Verbinding maken met de database
Eerst moet u een PDO-verbinding instellen. Hier gebruiken we MySQL als voorbeeld:
```
$dsn = ‘mysql:host=your_host;dbname=your_db_name’;
$username = ‘your_username’;
$password = ‘your_password’;
try {
$pdo = new PDO;
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo ‘Connection failed: ‘ . $e->getMessage();
}
```
- Stap 2: Voorbereide statement creëren
Met een voorbereide query schrijft u de SQL-code en vervangt u de variabele waarden door placeholders. Dit helpt om uw applicatie te beschermen tegen SQL-injectie-aanvallen.
```
$sql = “SELECT * FROM users WHERE email = :email”;
$stmt = $pdo->prepare($sql);
```
- Stap 3: Parameters binden en uitvoeren
Nadat u de statement hebt voorbereid, kunt u de placeholders vervangen door echte waarden met `bindParam` of `bindValue`. Vervolgens voert u de query uit met de `execute`-methode.
```
$email = ‘test@example.com’;
$stmt->bindParam(‘:email’, $email);
$stmt->execute();
```
- Stap 4: Resultaten verwerken
Nadat de query is uitgevoerd, kunt u de resultaten ophalen en verwerken.
```
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($results as $row) {
echo $row[‘name’] . ‘
’;
}
```
- Voorbeelden van andere handelingen met PDO
- Gegevens Invoegen (INSERT)
```
$sql = “INSERT INTO users (name, email) VALUES (:name, :email)”;
$stmt = $pdo->prepare($sql);
$stmt->bindParam(‘:name’, $name);
$stmt->bindParam(‘:email’, $email);
$name = ‘John Doe’;
$email = ‘john.doe@example.com’;
$stmt->execute();
```
- Gegevens Bijwerken (UPDATE)
```
$sql = “UPDATE users SET email = :email WHERE id = :id”;
$stmt = $pdo->prepare($sql);
$stmt->bindParam(‘:email’, $email);
$stmt->bindParam(‘:id’, $id);
$email = ‘new.email@example.com’;
$id = 1;
$stmt->execute();
```
- Gegevens Verwijderen (DELETE)
```
$sql = “DELETE FROM users WHERE id = :id”;
$stmt = $pdo->prepare($sql);
$stmt->bindParam(‘:id’, $id);
$id = 1;
$stmt->execute();
```
- Betrouwbare bronnen
- PHP officiële documentatie: De officiële documentatie van PHP biedt uitgebreide informatie over PDO, inclusief voorbereide statements. Hier vindt u voorbeelden en gedetailleerde uitleg: [PHP Documentation – PDO](https://www.php.net/manual/en/book.pdo.php).
- W3Schools: Biedt een basisinleiding tot PDO en voorbeelden van voorbereiding en uitvoering van verschillende soorten queries: [W3Schools – PHP PDO](https://www.w3schools.com/php/php_pdo_intro.asp).
Door bovenstaande stappen te volgen en gebruik te maken van de genoemde bronnen, kunt u voorbereidende queries uitvoeren met PDO, wat bijdraagt aan een betere beveiliging en onderhoudbaarheid van uw applicaties.