انتخاب داده با PDO (+ بیانیه های آماده)(Select Data With PDO (+ Prepared Statements))

مثال زیر از عبارات آماده شده استفاده می کند.


ستون های شناسه، نام و نام خانوادگی را از جدول MyGuests انتخاب می کند
که در آن نام خانوادگی "Doe" است، و
آن را در یک جدول HTML نمایش می دهد:



مثال (PDO)



<?php
echo "<table style='border: solid 1px black;'>";

echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>";

class TableRows extends RecursiveIteratorIterator {

    function __construct($it) {
        parent::__construct($it, self::LEAVES_ONLY);
    }


    function current() {
        return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
    }

    function beginChildren() {
        echo "<tr>";
    }

    function endChildren() {
        echo "</tr>" . "n";
    }
}

$serve
ame = "localhost";

$use
ame = "use
ame";
$password = "password";
$dbname = "myDBPDO";


try {
    $conn = new PDO("mysql:host=$serve
ame;dbname=$dbname", $use
ame, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests
WHERE lastname='Doe'");
    $stmt->execute();


    // set the resulting array to associative
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
        echo $v;
    }
}
catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>