Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с запросом WHERE IN()
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Проблема с запросом WHERE IN()

Страниц (1): [1]
 

1. InvokerPower - 24 Февраля, 2016 - 11:19:06 - перейти к сообщению
Здравствуйте, проблема при sql запросе типа:
$remb = mysql_query("SELECT * FROM gallery WHERE id IN (69,70,71)", $database) or die (mysql_error());
$rusa = mysql_fetch_array($remb);
do{
echo $rusa['name'] . "</br>";

}
while(mysql_fetch_array($remb));

В цикле выводятся 3 одинаковых значения.
функция print_r($rusa['name']); выводит значения одной переменной, без массива.
2. andrewkard - 24 Февраля, 2016 - 12:06:43 - перейти к сообщению
InvokerPower
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM gallery WHERE id IN (69,70,71)", $database) or die (mysql_error());
  3.  
  4. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  5.     echo $row['name'].'<br>';
  6. }
  7.  

И
Цитата:

Данное расширение устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL.
3. OrmaJever - 24 Февраля, 2016 - 13:07:25 - перейти к сообщению
во-первых всё потому что тут
InvokerPower пишет:
while(mysql_fetch_array($remb));

нужно присваивать значение переменной $rusa
во-вторых, ВЫ ИЗДЕВАЕТЕСЬ? Идет 2016 год, а вы досих пор используете mysql драйвер, это стыдно. Может у вас еще и php4 ?
4. InvokerPower - 24 Февраля, 2016 - 13:34:32 - перейти к сообщению
OrmaJever пишет:
во-первых всё потому что тут
InvokerPower пишет:
while(mysql_fetch_array($remb));

нужно присваивать значение переменной $rusa
во-вторых, ВЫ ИЗДЕВАЕТЕСЬ? Идет 2016 год, а вы досих пор используете mysql драйвер, это стыдно. Может у вас еще и php4 ?

Очень глупая ошибка, спасибо за помощь. Сидел сегодня 2 часа пялился на код и не мог заметить такую ерунду. К своему стыду я даже не ознакамливался c mysqli, так как пишу не так часто. Придется изучить вопрос, если я так морально отстал.
5. OrmaJever - 24 Февраля, 2016 - 16:14:22 - перейти к сообщению
InvokerPower пишет:
если я так морально отстал.

Вы морально отстали лет на 10. Я до сих пор не понимаю откуда всплывают говностатьи и учебники в которых предлагают использовать драйвер mysql
6. DelphinPRO - 24 Февраля, 2016 - 18:15:13 - перейти к сообщению
да. в PDO можно сразу сфетчить весь массив ($stmt->fetchAll()) и потом спокойно обойти данные форичем в шаблоне.
7. exlant - 25 Февраля, 2016 - 20:29:15 - перейти к сообщению
Цитата:
Я до сих пор не понимаю откуда всплывают говностатьи и учебники в которых предлагают использовать драйвер mysql


do{}while() в таком контексте, я помню еще из старых курсов горе программиста и быдлокодера Евгения Попова год так за 2008-2009, никому не советую учиться по курсам этого человека, программированию он точно не научит!
Если видео курсы, то лучше уже от специалиста, там совсем другой уровень!

 

Powered by ExBB FM 1.0 RC1