URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7259
[ Назад ]

Исходное сообщение
"Не читается таблица БД MySQL"

Отправлено olec , 07-Июн-11 11:05 
Прошу совета.
В приведенном ниже скрипте при запросе к БД 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"
Отправлено Алексей , 07-Июн-11 20:28 
Судя по всему, 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"
Отправлено LSTemp , 09-Июн-11 00:40 
> Прошу совета.
> В приведенном ниже скрипте при запросе к БД 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;
> ?>