Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie durchlaufe ich eine MySQL-Abfrage per PDO in PHP?

Hier ist ein Beispiel für die Verwendung von PDO, um eine Verbindung zu einer DB herzustellen, um ihr mitzuteilen, dass sie Ausnahmen anstelle von PHP-Fehlern ausgeben soll (hilft beim Debuggen), und parametrisierte Anweisungen zu verwenden, anstatt selbst dynamische Werte in die Abfrage einzufügen (sehr empfehlenswert):

// connect to PDO
$pdo = new PDO("mysql:host=localhost;dbname=test", "user", "password");

// the following tells PDO we want it to throw Exceptions for every error.
// this is far more useful than the default mode of throwing php errors
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// prepare the statement. the placeholders allow PDO to handle substituting
// the values, which also prevents SQL injection
$stmt = $pdo->prepare("SELECT * FROM product WHERE productTypeId=:productTypeId AND brand=:brand");

// bind the parameters
$stmt->bindValue(":productTypeId", 6);
$stmt->bindValue(":brand", "Slurm");

// initialise an array for the results
$products = array();
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $products[] = $row;
}