MySql_query( "select .... " ); - не возвращает ошибку...

MySql_query( "select .... " ); - не возвращает ошибку...

Вот кажись какой-то баг нашел....
В документации написано, что mysql_query() при вызовах select, и т.д. при ошибке должна возвращать false... На практике же такого не происходит.
PHP:
if( mysql_query( "select * from mytable where id=9;") )
   echo "Все хорошо!";
else
   echo "Ошибка!"; // Вот здесь ничего не возвращает...
То-ли я тормоз, то-ли.. лыжи не едут...
 

Romantik

TeaM PHPClub
mysql_query( "select * from mytable where id=9"; )
так точнее
а лучше пользоваться mysql_error()
 

Demiurg

Guest
>В документации написано, что mysql_query() при вызовах select, и т.д. при ошибке должна возвращать false...
а что ты называешь ошибкой ?
пустой результат - это не ошибка.
 
Ну... дык я думал, что если записи в таблице нет, то запрос на нее - это и есть ошибка...
------------------
пустой результат - это не ошибка.
Вообще-то я так и делаю... - запрос, а потом проверка на пустые строки в результате... Но ИМХО - это изврат...
mysql_error() - видимо это выход...
Спасибо за ответы...
 

Demiurg

Guest
mysql_error тоже не расскажет тебе о пустом результате. Пустой результат - это тоже результат, иначе create table тоже всегда бы оканчивалось ошибкой.
 
хм...
А нельзя-ли как-то по-другому проверить есть ли запись в таблице...( В смысле - одним запросом и проверкой его результата )?
 
Пасибо...
Но, в принципе, это почти тоже, что и "Запрос, извелечение данных, проверка"...
Токо шаги "извлечение данных и проверка" - здесь в одном... Все ж таки корче => лучше... Еще раз пасибо..
 

Demiurg

Guest
Если у тебя по логике возвращается только одна запись, то проверка и вытаскивание записи явлется одним и тем же действием. Если у тебя достается N записей то разницы между 0 и 10 нету, веди счетчик количества полученых записей.
 
Ну, я думал, что есть возможность все проверки сделать в одном if-е ( т.е. одной проверкой вызова mysql_query )- так код яснее.... :)
 

Фанат

oncle terrible
Команда форума
для этих целей можно написать собственую функцию.
поему-то начинающие программисты очень любят рисовать функции для выводи хтмл-форм, но во там, где они действительно нужны по причине частого использования - для получения значения из базы, к примеру - не догадываются.
 
тоже мона... Токо вот она будет использоваться всего один, ну максимум два раза...
т.к это и так внутренность одной функции...
 

Фанат

oncle terrible
Команда форума
Неправда.
достать одно значение или одну строку из базы требуется весьма часто.
 
Да, мне чаще нужно несколько значений извлечь...Но все равно спасибо - о функции я как-то не подумал... А вообще - надо классы использовать начинать...
 

Demiurg

Guest
>надо классы использовать начинать...
зачем ?
 

Фанат

oncle terrible
Команда форума
Loshadka
Если тебе ЧАЩЕ приходится на троллейбусе ездить, то это повод ВООБЩЕ пешком не ходить?
Ты будешь итспользовать функцию только тогда, когда она покроет 100% твоих потребностей?

Ты не подумай, я тебя ни разу не уговариваю - много чести.
По мне - так вообще ничего не пиши - мир только вздохнет с облегчением.
Но вот логика твоя меня убивает.
 

yaniks

новичок
> Ну, я думал, что есть возможность все проверки сделать в одном if-е
если mysql_query возращает false это ошибка кода
а ноль строк в ответе, это не ошибка, а отсутствие записей.
 
Сверху