Запрос правильный но не работает

Ответить
Аватара пользователя
venuko

Запрос правильный но не работает

Сообщение venuko »

PHP код:

Код: Выделить всё

$size = "2|3";            

$where2 = $size;

$where2 = str_ireplace("|", " OR id=", $where2);



$result33 = $db->sql_query("SELECT * FROM ".$prefix."_catalog_size WHERE id='".$where2."' ");



echo "

Доступные размеры:

";

while ($mypages33 = $db->sql_fetchrow($result33)) {

$id33 = intval($mypages33['id']);

$title33 = $mypages33['title'];

echo "".$title33."";

}

echo "



"; 






Сломал уже голову, запрос верный, но выводит только значение равное id=2 а должно выводить два значения равное 2 и 3. Подставляешь в запрос в ручную WHERE id=2 OR id=3 все пашет как надо.



Подскажите в чем могут быть грабли?
Аватара пользователя
Coutty

Re: Запрос правильный но не работает

Сообщение Coutty »

Запрос неправильный, вот и не работает.

По вашему коду формируется такая строка:



PHP код:

Код: Выделить всё

...WHERE id='2 OR id=3' 






а должна быть такая:



PHP код:

Код: Выделить всё

...WHERE id='2' OR id='3' 






или такая:



PHP код:

Код: Выделить всё

...WHERE id=2 OR id=3 






В общем, кавычки стоят не так.



В таких случая полезно запрос формировать в отдельной переменной, а не непосредственно при подстановке в параметр метода. Тогда можно выводить отладочное значение.
Аватара пользователя
venuko

Re: Запрос правильный но не работает

Сообщение venuko »

Спасибо, помогло. Просто моя невнимательность ... Изображение
Ответить

Вернуться в «Вебмастеру»