В документации pdo :: prepare () есть два замечательных примера.
Я включил их здесь и немного упростил.
Этот использует ?
параметры. $dbh
в основном объект PDO. И что вы делаете, это помещаете значения 150
и 'red'
в первый и второй вопросительные знаки соответственно.
/* 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();
Этот использует именованные параметры и немного сложнее.
/* 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();