Автор Тема: mysql_fetch_array();  (Прочитано 5445 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн listopad

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 142
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.loadfile.ru
mysql_fetch_array();
« : 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:
 - On-line сервис.

Оффлайн я...

  • scum of the earth
  • Старожил
  • ****
  • Сообщений: 293
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.vlad.myths.ru
mysql_fetch_array();
« Ответ #1 : 03 Сентября 2002, 14:18:33 »
можно, конечно...
попробуй выведи mysql_error(), скорее всего в запросе ошибка...
...вот такой я весёлый зверёк...
 Home page

Оффлайн rembo

  • Больной
  • Постоялец
  • ***
  • Сообщений: 219
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.v4.ru
mysql_fetch_array();
« Ответ #2 : 04 Сентября 2002, 05:27:20 »
Судя по всему дело как раз в логике а конкретно в переменных $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++.
программист должен все сделать так, чтоб потом ничего не делать

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
mysql_fetch_array();
« Ответ #3 : 04 Сентября 2002, 14:28:34 »
логично предположить что SQL-запрос кривой
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
mysql_fetch_array();
« Ответ #4 : 04 Сентября 2002, 20:12:12 »
listopad выложи код.
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mysql_fetch_array();
« Ответ #5 : 04 Сентября 2002, 21:24:45 »
Цитировать
Supplied argument is not a valid MySQL result resource

Цитировать
скорее всего в запросе ошибка

Цитировать
логично предположить что SQL-запрос кривой

Сто прОцентов, что так и есть.  И вполне можно тему закрывать.

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mysql_fetch_array();
« Ответ #6 : 04 Сентября 2002, 21:49:32 »
интересно, а точно mysql во втором случае возвращает хотя бы одну запись?
с уважением,
магистр белой магии.

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mysql_fetch_array();
« Ответ #7 : 04 Сентября 2002, 23:39:08 »
Сколько бы он ни возвращал вот это:
Цитировать
Supplied argument is not a valid MySQL result resource

говорит только о том, что сам запрос ошибочный. Даже если бы пустой селект получился, то MySQL result был бы вполне такой себе valid :)

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mysql_fetch_array();
« Ответ #8 : 05 Сентября 2002, 00:00:03 »
Доктор
что касается ошибочных запросов, mysql пишет:
You have an error in your SQL syntax near  :)

а "supplied argument is not a valid MySQL result resource ", когда вообще запрос не был выполнен или перепутана переменная.
с уважением,
магистр белой магии.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
mysql_fetch_array();
« Ответ #9 : 05 Сентября 2002, 10:41:44 »
Dm
А вот тут ошибочка :-)
"supplied argument is not a valid MySQL result resource" пишет РНР. И совершенно обоснованно пишет :-)
А является это следствием того, что mysql_query ничего не вернула, что, в свою очередь, является однозначным индикатором того, что при запросе произошла ошибка.

А вот You have an error in your SQL syntax near пишет муська, и только если попросишь mysql_error().

Так что Доктор прав как раз.

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
mysql_fetch_array();
« Ответ #10 : 05 Сентября 2002, 14:12:09 »
А ещё возможно, что переменная результата была переопределена... И вообще где автор темы? Если нашёл решение проблемы то так и напиши, чтобы ни кто не гадал где у тебя ошибка.
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн listopad

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 142
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.loadfile.ru
mysql_fetch_array();
« Ответ #11 : 05 Сентября 2002, 18:33:20 »
Все, наконец-то разобрался..... ошибка была просто глупой ..... в именах переменных.....

А запросы , кстати, все в порядке....

Спасибо !!!!
 - On-line сервис.

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mysql_fetch_array();
« Ответ #12 : 05 Сентября 2002, 21:33:07 »
RomikChef, формулировки/формальности? ;)


Цитировать
ошибка была просто глупой ..... в именах переменных.....

дык я это и сразу сказал :)
с уважением,
магистр белой магии.

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
mysql_fetch_array();
« Ответ #13 : 06 Сентября 2002, 02:47:41 »
[OFF]
Цитировать
Цитата:
ошибка была просто глупой ..... в именах переменных.....
дык я это и сразу сказал


Ага. Вероятность только этого была процентов 10 при таких исходных данных...
[/OFF]

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28