|
|
|
| Здравствуйте.
Есть код:
$result = mysql_query("SELECT title,id FROM blog_data WHERE rub=5",$db);
if ($result) {
while ($myrow = mysql_fetch_array($result));
{
....
|
Проблема - хотя в таблице нет поля rub со значением 5, код после if ($result) { все равно начинает выполняться. Почему это происходит? | |
|
|
|
|
|
|
|
для: rusbi
(25.06.2007 в 08:07)
| | а он и будет выполняться, если сам запрос составлен правельно согласно с правелами sql, если воспользуйтесь функцией mysql_num_rows($result), которая вернет количество строк полученых в результате выполнения запроса. | |
|
|
|
|
|
|
|
для: rusbi
(25.06.2007 в 08:07)
| | запрос означает "Вывести поля title и id всех тех строк таблицы blog_data, поле rub которой равно 5". Независимо от того сколько таких строк найдется - одна, сто, или ни одной.
Зезависимо от этого, если есть в БД такая таблица, а в таблице такие поля - запрос считается корректным.
Ненулевой $result означает, что сервер принял запрос, счел его корректным и исполнил.
То, что запрос вернул пустой результат, нужно проверять совсем другими способами.
например функцией mysql_num_rows($result) | |
|
|
|
|
|
|
|
для: Trianon
(25.06.2007 в 10:01)
| | Всем спасибо. Разобрался! | |
|
|
|