Existují dva skvělé příklady na pdo::prepare() dokumentaci.
Zahrnul jsem je sem a trochu je zjednodušil.
Tento používá ?
parametry. $dbh
je v podstatě objekt PDO. A to, co děláte, je vkládání hodnot 150
a 'red'
do prvního a druhého otazníku.
/* 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();
Tento používá pojmenované parametry a je o něco složitější.
/* 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();