PDO не обязательные параметры
Возможный дубликат:
PHP PDO bindValue в LIMIT
Я начал использовать PDO вчера, так что я все еще легко путаюсь с ним. У меня есть класс Query:
class Query
{
static function GetList($query, $binds = array())
{
global $DBH;
$STH = $DBH->prepare($query);
$STH->execute($binds);
return $STH;
}
}
и я звоню это с:
$result = Query::GetList("SELECT * FROM translations_missing
ORDER BY translation_missing_id LIMIT ?, ?",
array(0, 10));
while($row = $result->fetch())
{
echo 'moo';
}
И я не получаю никаких результатов! Однако, если я удаляю параметры и вызываю:
$result = Query::GetList("SELECT * FROM translations_missing
ORDER BY translation_missing_id LIMIT 0, 10");
Я напечатал "му" несколько раз. Я почти уверен, что мне не хватает чего-то незначительного, как всегда, но я просто не могу найти, что не так с этим.
Чтобы запутаться в этом еще больше, если я сделаю это так:
$result = Query::GetList("SELECT * FROM translations_missing
WHERE en = ?",
array("Building"));
Я напечатал "Му"! Теперь я думаю, что я неправильно связываю целые числа, но... Может кто-нибудь указать мне, почему мое связывание не работает?
1 ответ
Решение
Похоже, вы были правы насчет целочисленной привязки.
Смотрите: Как применить метод bindValue в предложении LIMIT?