|
|
|
| Добрый день. я начинаю изучать MySQL. у меня возникла вот такая проблема.
есть php-скрипт, который подключается к базе и делает к ней запрос. на основе результатов запроса должен рисувать список. но при выполнении скрипта мне выдается предупреждение: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in \\vinexim.ru\users\barsukov\Documents\TryHTML\Dieta\add_food_to_ration_select.php on line 56
вот листинг скрипта, который обращается к базе:
$name = $_POST["nazv"];
mysql_query("SET NAMES koi8r");
$qstr = "SELECT * FROM Ingredients WHERE Iname=\"{$name}\"";
$qstr = stripslashes($qstr);
$qs = mysql_query($qstr);
echo $qstr."\n<br>";
echo "<form name=\"SelFood\" action=\"add_food_to_ration_query.php\" method=\"post\">\n";
$n = mysql_num_rows($qs); /*Линия 56 скрипта*/
echo "<select size=\"10\" name=\"ing\" onChange=\"show();\">\n";
for ($r=0; $r<$n; $r++) {
echo "<option>".mysql_result($q, $r, 2)."</option><br>\n";
};
echo "</select>\n";
|
после выполнения скрипта мне показали строку, которая была запросом к базе:
SELECT * FROM Ingredients WHERE Iname="сыр"
что странное, у меня есть другой скрипт, который обращается к этой же базе с таким же запросом и совершенно нормально рисует табличку на основании результатов запроса.
не знаете в чем может быть проблема?? | |
|
|
|
|
|
|
|
для: Krondor
(06.04.2009 в 15:53)
| | если вызов mysql_query вернул нулевой результат, то Это значит, что запрос не прошел, и бесполезно вызывать функции mysql_num_rows, mysql_result, mysql_fetch_...
что именно является причиной отвергания запроса, можно получить с помощью функции mysql_error() | |
|
|
|
|
|
|
|
для: Trianon
(06.04.2009 в 16:03)
| | в том-то и дело, что запрос проходит. в соседнем скрипте по такой же строке запроса, возвращается строка результата из одной записи. у меня строит проверка на возврат нулевого результата, я просто ее не стал здесь писать, чтоб место не занимать.
если это поможет, могу выложить полные листинги двух скриптов и исходные коды страниц, которые эти скрипты рисуют. | |
|
|
|
|
|
|
|
для: Krondor
(06.04.2009 в 16:05)
| | Когда запрос проходит, и этот запрос - SELECT , функция mysql_num_rows такого не напишет. | |
|
|
|
|
|
|
|
для: Trianon
(06.04.2009 в 16:45)
| | большое спасибо. с проблемой разобрался. оказалось, я забыл при mysql_connect указать пользователя с нужными правами.:) | |
|
|
|