Istnieją dwa świetne przykłady na pdo::prepare() dokumentacja.
Umieściłem je tutaj i nieco je uprościłem.
Ten używa ?
parametry. $dbh
jest w zasadzie obiektem PDO. A to, co robisz, to umieszczanie wartości 150
i 'red'
odpowiednio w pierwszy i drugi znak zapytania.
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
Ten używa nazwanych parametrów i jest nieco bardziej złożony.
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();