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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Запрос к МySQL возвращает не коректные данные!
возвращает бесконечное число раз последнюю запись в таблице, пока не пройдет 30секунд и выдает ошибку, 'Что лимит на выполнение 30сек'. Может кто сталкивался или знает из-за чего так.
Сейчас переписываю свой сайт с ПП в ООП. В ооп использую куски старого кода, который раньше работал нормально. Так же переустановил аналог Денвера на более новый, и скопировал старую базу в новую, может это как то повлияло. За ранее спасибо!
Мелкий
Отправлено: 26 Марта, 2013 - 09:03:58
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Покажите не "типа код", а реальный.
Наверняка сделали глупость в духе while($result=mysql_fetch_array(mysql_query(/**/)))
----- PostgreSQL DBA
V2oD2o
Отправлено: 26 Марта, 2013 - 12:27:49
Частый гость
Покинул форум
Сообщений всего: 143
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
ну так код то правильно работает
qtk
Отправлено: 26 Марта, 2013 - 18:42:31
Частый гость
Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Мелкий пишет:
Наверняка сделали глупость в духе while($result=mysql_fetch_array(mysql_query(/**/)))
qtk пишет:
while($result_mysql=mysql_fetch_array(mysql_query("SELECT * FROM `es`"))) {
как в воду глядел
----- Чем больше узнаю, тем больше я не знаю.
qtk
Отправлено: 26 Марта, 2013 - 20:44:03
Частый гость
Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012
Помог: 0 раз(а)
Дак в чем ошибка?
EuGen
Отправлено: 26 Марта, 2013 - 20:46:57
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
qtk пишет:
while($result_mysql=mysql_fetch_array(mysql_query("SELECT * FROM `es`")))
- это не то же самое, что
qtk пишет:
$query=mysql_query("SELECT * FROM `estate` ORDER BY `id` DESC LIMIT 10");
while($result=mysql_fetch_array($query)) {еchо $result['text'];}
- это.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
qtk
Отправлено: 26 Марта, 2013 - 20:53:37
Частый гость
Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012
Помог: 0 раз(а)
Спасибо, а где об этом можно почитать?
EuGen
Отправлено: 26 Марта, 2013 - 22:23:13
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Так это же очевидно. Выражение, стоящее в скобках в while - вычисляется каждую итерацию, чтобы проверить, не стало ли оно ложно и не пора ли заканчивать исполнение цикла. Выражение $result_mysql=mysql_fetch_array(mysql_query("SELECT * FROM `es`")) не будет ложным никогда, если в таблице есть ряды, потому что запрос будет выполняться каждый раз по-новому и каждый раз будет возвращена первая строка.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.