ГДЕ оговорка путаница с ПДО - PullRequest
2 голосов
/ 13 июня 2010

У меня возникают проблемы с пониманием того, как использовать подготовленные операторы, когда вам нужно сопоставить одно значение с несколькими столбцами одновременно.

Другими словами, что вместо этого:

$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
$stmt->bindParam(1, $name); 

Я хотел сделать это:

$stmt = $dbh->prepare("SELECT * FROM REGISTRY where firstname = ? or lastname = ?");

с обоими '?' представляющие одну и ту же строку.

Ответы [ 3 ]

4 голосов
/ 13 июня 2010

Попробуйте ...

$stmt = $dbh->prepare("SELECT * FROM registry WHERE firstname = :name OR lastname = :name;");
$stmt->bindParam(':name', $name); 
1 голос
/ 13 июня 2010

Почему бы просто не использовать именованный параметр:

$stmt = $dbh->prepare("SELECT * FROM REGISTRY WHERE firstname = :name OR lastname = :name");
$stmt->bindParam(':name', $name);
0 голосов
/ 01 августа 2017
$stmt = $dbh->prepare("SELECT * FROM registry WHERE firstname = ? 
OR lastname = ? ;");
$stmt->bindParam(1, $name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...