Прошу совета.
В приведенном ниже скрипте при запросе к БД MySQL
$query=mysql_query("select * FROM region_info");
не формируется значение $query и потому при запросе
$number=mysql_num_rows($query);
виводитсч собщение об ошибке:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/cnii/bd/poisk.php on line 29
Строка 29 иесть $number=mysql_num_rows($query);
При етом ничего не виводится на екран.
Спасибо.<?
$hostname="localhost";
$username="webuser";
$password="";
$dbName="cnti";
mysql_connect($hostname, $username, $password) or die ("не можу створити з'єднання !");
mysql_select_db($dbName) or die ("не можу вибрати базу даних!");
$query=mysql_query("select * FROM region_info");
$number=mysql_num_rows($query);
$i=0;
?>
Судя по всему, MySQL-сервер по какой-то причине не может выполнить SQL-запрос "select * FROM region_info".
Возможные причины:
1) нарушена целостность таблицы region_info.
Рекомендую направить указанный SQL-запрос напрямую SQL-серверу с использованием клиентской консольной утилиты "mysql". Если утилита не сможет выполнить запрос к БД, значит проблема не в вашей программе PHP, а в целостности БД или в некорректном функционировании, настройке СУБД MySQL.
Дополнительно рекомендую выполнять проверку:$query=mysql_query("select * FROM region_info");
if ($query == FALSE) die("Не могу выполнить запрос к БД");Пруф: For SELECT ... and other statements returning resultset, mysql_query() returns a resource on success, or ***FALSE*** on error. (http://php.net)
2) Еще возможная причина возникновения ошибки:
mysql_query() will also fail and return FALSE ***if the user does not have permission to access the table(s)*** referenced by the query.Иными словами, возможно вы не дали пользователю "webuser" права на доступ к таблице region_info.
> Прошу совета.
> В приведенном ниже скрипте при запросе к БД MySQL
> $query=mysql_query("select * FROM region_info");if (!$query=mysql_query("select * FROM region_info")
{
echo "е-мое.. м/б ощибку от сервера распечатать и проанализировать?";
die('обломись клиент');
}как-то так с Вашим подходом.
>[оверквотинг удален]
> $username="webuser";
> $password="";
> $dbName="cnti";
> mysql_connect($hostname, $username, $password) or die ("не можу створити з'єднання
> !");
> mysql_select_db($dbName) or die ("не можу вибрати базу даних!");
> $query=mysql_query("select * FROM region_info");
> $number=mysql_num_rows($query);
> $i=0;
> ?>