Forum Webscript.Ru

Общие => Базы данных => Тема начата: Tepncuxopa от 29 Ноября 2001, 17:21:05

Название: Что бы э
Отправлено: Tepncuxopa от 29 Ноября 2001, 17:21:05
При такой записи: (в скобках указаны номера строк)

(8)  $query = mysql_query("SELECT * FROM \'monitor\'");
(9)  $result = mysql_fetch_array($query);

Выдается следующее сообщение:

Warning: Supplied argument is not a valid MySQL result resource in c:\\program files\\apache group\\apache\\www\\index.php on line 9

Чтобы это значило, господа веб-программисты?
Название: Что бы э
Отправлено: NeoNox от 29 Ноября 2001, 17:27:14
Цитировать
Чтобы это значило, господа веб-программисты?

Это значит, госпожа Муза, что у Вас ошибка в определении переменной query.
Немного подробнее о задачах и коде с запросами. (полный код приветствуется :) )
Название: Пожалуйста...
Отправлено: Tepncuxopa от 29 Ноября 2001, 17:36:53
Полный код:

if (mysql_connect()) {if (!mysql_select_db("product")) {echo "Error selecting"; exit();}}
else {echo "Error connecting!"; exit();}

function PrintOption() {
 $query = mysql_query("SELECT * FROM \'monitor\'");
 if (!$query) {
  $result = mysql_fetch_array($query);
  echo "

".$result[\'model\']."


";
 }
 else {echo "Error: ".mysql_error(); exit();}
}
?>
Название: Что бы э
Отправлено: VaV от 29 Ноября 2001, 18:28:28
у меня иногда проскакивают такие же ошибки если отсутсвует структура таблицы из которой можно брать данные(главное не забыть чтобы были таблицы как таковые в самой базе) просто нет результата для mysql_fetch_array
Название: Что бы э
Отправлено: Tepncuxopa от 29 Ноября 2001, 18:56:23
Таблица есть. Это точно.
К тому же если бы не было результата для mysql_fetch_array, то выполнялось бы

else {echo "Error: ".mysql_error(); exit();}

или я неправильно понимаю этот условный цикл?
Название: Что бы э
Отправлено: NeoNox от 29 Ноября 2001, 19:03:01
Удивительно вот это:
Цитировать
if (!$query)

Собственно, если бы не существовала таблица-не была бы определена переменная. А так... Нужно подумать. :)
Название: Что бы э
Отправлено: VaV от 29 Ноября 2001, 19:22:27
Цитировать
результата для mysql_fetch_array

но этот warning связан не с ошибкой а именно с отсутствием результата...
Название: Что бы э
Отправлено: MadDog от 30 Ноября 2001, 10:24:55
А если эту строку написать не так
Цитировать
(8) $query = mysql_query("SELECT * FROM \'monitor\'");
, а так

(8) $query = mysql_query("SELECT * FROM monitor");

т.е. без кавычек
Название: Что бы э
Отправлено: DaBugi от 30 Ноября 2001, 18:15:46
А вы под какой системой осуществляете этот запрос? У меня под виндой такое сообщение отображается в случае если нет результата выборки, т.е. никаких значений. Для того, чтобы не было ошибки есть два способа:

1) @$result = mysql_fetch_array($query);
Отключаем сообщение об ошибках

2)
$query = mysql_query("SELECT * FROM \'monitor\'");
if mysql_num_rows($query)==0 {echo "Не смог выбрать значения";}
else {$result = mysql_fetch_array($query);}

Первый вариант для ленивых, второй более наглядный...
Название: Что бы э
Отправлено: Tepncuxopa от 01 Декабря 2001, 14:57:19
2MadDog: Все равно не работает. (Насколько я знаю, кавычки предусмотрены синтаксисом)

2DaBugi: 2000 Винда. Сделала 2 способом. Выдает сообщение:

Warning: Supplied argument is not a valid MySQL result resource in c:\\apache\\htdocs\\index.php on line 6
Не смог выбрать значения

(6 строчка кода) if (mysql_num_rows($query)==0) {echo "Не смог выбрать значения";}

База данных и таблица существуют ТОЧНО. PhpMyAdmin их находит и показывает.
Название: Все решилось!!!
Отправлено: Tepncuxopa от 01 Декабря 2001, 17:21:54
Оказывается: кавычки должны быть не такие \' \', а такие ``... Семен Семеныч! (с) ;)