Verbindung aufbauen
Verbindung zur MySQL-Datenbank mittels PDO:
1
2
3
|
<?php
$pdo = new PDO(‚mysql:host=localhost;dbname=databasename‘, ‚username‘, ‚password‘);
?>
|
SQL Query an Datenbank senden
Simple Datenabfragen können mittels $pdo->query($sql) an die Datenbank gesendet werden.
1
2
3
4
5
6
7
8
9
10
|
<?php
$pdo = new PDO(‚mysql:host=localhost;dbname=databasename‘, ‚username‘, ‚password‘);
$sql = „SELECT * FROM users“;
foreach ($pdo->query($sql) as $row) {
echo $row[‚email‘].„<br />“;
echo $row[‚vorname‘].„<br />“;
echo $row[’nachname‘].„<br /><br />“;
}
?>
|
Prepared Statements
Prepared Statement mit anonymen Parametern:
1
2
3
4
5
6
7
8
9
10
|
<?php
$pdo = new PDO(‚mysql:host=localhost;dbname=databasename‘, ‚username‘, ‚password‘);
$statement = $pdo->prepare(„SELECT * FROM users WHERE vorname = ? AND nachname = ?“);
$statement->execute(array(‚Max‘, ‚Mustermann‘));
while($row = $statement->fetch()) {
echo $row[‚vorname‘].“ „.$row[’nachname‘].„<br />“;
echo „E-Mail: „.$row[‚email‘].„<br /><br />“;
}
?>
|
Prepared Statement mit benannten Parametern:
1
2
3
4
5
6
7
8
9
10
|
<?php
$pdo = new PDO(‚mysql:host=localhost;dbname=databasename‘, ‚username‘, ‚password‘);
$statement = $pdo->prepare(„SELECT * FROM users WHERE vorname = :vorname AND nachname = :nachname“);
$statement->execute(array(‚:vorname‘ => ‚Max‘, ‚:nachname‘ => ‚Mustermann‘));
while($row = $statement->fetch()) {
echo $row[‚vorname‘].“ „.$row[’nachname‘].„<br />“;
echo „E-Mail: „.$row[‚email‘].„<br /><br />“;
}
?>
|
Anzahl der Zeilen
Die Anzahl der betroffenen Zeilen können mittels der Methode rowCount() ermittelt werden:
1
2
3
4
5
6
7
8
|
<?php
$pdo = new PDO(‚mysql:host=localhost;dbname=databasename‘, ‚username‘, ‚password‘);
$statement = $pdo->prepare(„SELECT * FROM users WHERE vorname = ?“);
$statement->execute(array(‚Max‘));
$anzahl_user = $statement->rowCount();
echo „Es wurden $anzahl_user gefunden“;
?>
|
Eingefügte ID
Die vergebene ID einer Auto Increment-Spalte kann mittels der Methode lastInsertId() abgerufen werden.
1
2
3
4
5
6
7
8
9
|
<?php
$pdo = new PDO(‚mysql:host=localhost;dbname=databasename‘, ‚username‘, ‚password‘);
$statement = $pdo->prepare(„INSERT INTO users (email, vorname, nachname) VALUES (?, ?, ?)“);
$statement->execute(array(‚info@php-einfach.de‘, ‚Klaus‘, ‚Neumann‘));
$neue_id = $pdo->lastInsertId();
echo „Neuer Nutzer mit id $neue_id angelegt“;
?>
|
MySQL Fehlermeldung
Zum Abrufen der MySQL Fehlermeldung existiert die Methode errorInfo().
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
$pdo = new PDO(‚mysql:host=localhost;dbname=test‘, ‚username‘, ‚password‘);
$statement = $pdo->prepare(„SELECT email, password FROM users“);
if($statement->execute()) {
while($row = $statement->fetch()) {
echo $row[‚email‘].„<br />“;
}
} else {
echo „SQL Error <br />“;
echo $statement->queryString.„<br />“;
echo $statement->errorInfo()[2];
}
?>
|