PHP MySQL Select Data. Selectați datele cu PDO (+ declarații pregătite/prepared statements). Exemplu (PDO).

PHP MySQL Select Data

Selectați datele cu PDO (+ declarații pregătite/prepared statements)

Următorul exemplu folosește instrucțiuni pregătite (prepared statements).

Selectează coloanele id, prenume și nume (id, firstname, lastname) din tabelul MyGuests și îl afișează într-un tabel HTML:

Exemplu (PDO)
 
<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Prenume</th><th>Nume</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";
    }
}

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
    $stmt->execute();

    // setați tabloul rezultat la asociativ (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 "Eroare: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>