Forum Webscript.Ru
Программирование => PHP => Тема начата: listopad от 03 Сентября 2002, 13:19:18
-
У меня вот какая проблема......
Есть три цикла.... один вложен в другой и в третий...., и еще в каждом используется запрос к муэскюэл.... Все это выглядит примерно так...
for ($i=0;$i<9;$i++)
{
sql........ делаю выборку из таблицы....-- обрабатываю данные..
for ($q=0;$q<$num;$q++)
{
$row = mysql_fetch_array($result);
засовываю результат в переменные....
по итим переменным делаю другой sql запрос...... и обрабатываю данные ...
for ($r=0;$r<$num1;$r++)
{
$row1 =mysql_fetch_array($result1);
--вот здесь все время какая то ошибка.... ОН пишет:
Warning: Supplied argument is not a valid MySQL result resource in c:/program files/apache group/apache/htdocs/mailer.php on line 67
}
}
}
А так в принципе все работает.... логических ошибок нет...
Может нельзя использовать mysql_fetch_array(); -два раза во вложенных циклах.... ?????:confused:
-
можно, конечно...
попробуй выведи mysql_error(), скорее всего в запросе ошибка...
-
Судя по всему дело как раз в логике а конкретно в переменных $num и $num1, очень часто, если $num и $num1 не является фактическим количеством записей выдернутых из базы, случаются логические ошибки и значение, скажем $num1, становится больше чем количество записей.
А если $num и $num1 призваны олицетворять количество записей то проще использовать не for а while типа:
while ($row = mysql_fetch_array($result)) {
засовываю результат в переменные....
по итим переменным делаю другой sql запрос...... и обрабатываю данные ...
while ($row1 =mysql_fetch_array($result1)) {
-- и никаких ошибок если запросы правильные
}
}
И никаких тебе $num-ов а если где-то нужен $q или $r то просто внутри соответствующего цикла добавь $q++ или $r++.
-
логично предположить что SQL-запрос кривой
-
listopad выложи код.
-
Supplied argument is not a valid MySQL result resource
скорее всего в запросе ошибка
логично предположить что SQL-запрос кривой
Сто прОцентов, что так и есть. И вполне можно тему закрывать.
-
интересно, а точно mysql во втором случае возвращает хотя бы одну запись?
-
Сколько бы он ни возвращал вот это:
Supplied argument is not a valid MySQL result resource
говорит только о том, что сам запрос ошибочный. Даже если бы пустой селект получился, то MySQL result был бы вполне такой себе valid :)
-
Доктор
что касается ошибочных запросов, mysql пишет:
You have an error in your SQL syntax near :)
а "supplied argument is not a valid MySQL result resource ", когда вообще запрос не был выполнен или перепутана переменная.
-
Dm
А вот тут ошибочка :-)
"supplied argument is not a valid MySQL result resource" пишет РНР. И совершенно обоснованно пишет :-)
А является это следствием того, что mysql_query ничего не вернула, что, в свою очередь, является однозначным индикатором того, что при запросе произошла ошибка.
А вот You have an error in your SQL syntax near пишет муська, и только если попросишь mysql_error().
Так что Доктор прав как раз.
-
А ещё возможно, что переменная результата была переопределена... И вообще где автор темы? Если нашёл решение проблемы то так и напиши, чтобы ни кто не гадал где у тебя ошибка.
-
Все, наконец-то разобрался..... ошибка была просто глупой ..... в именах переменных.....
А запросы , кстати, все в порядке....
Спасибо !!!!
-
RomikChef, формулировки/формальности? ;)
ошибка была просто глупой ..... в именах переменных.....
дык я это и сразу сказал :)
-
[OFF]
Цитата:
ошибка была просто глупой ..... в именах переменных.....
дык я это и сразу сказал
Ага. Вероятность только этого была процентов 10 при таких исходных данных...
[/OFF]