Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2010, 15:11   #11
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Johnatan - спасибо за советы,примем к сведению.
Цитата:
Объявлять переменную как boolean, а затем неявно конвертировать её в ресурс - плохой тон.
- если можно,поподробнее...Вроде логично всё: создаём false-переменную - потом проверяем её на то же false.

Насчёт двойной проверки - лучше пусть учатся перебдеть,как говорится...А то частенько что-то тут все воспринимают наличие результата запроса как должное(типа раз есть запрос - обязательно вернётся ожидаемый результат)...
Так что исключительно в воспитательных целях такой пример привёл.
Andkorol вне форума Ответить с цитированием
Старый 17.08.2010, 20:07   #12
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

PHP код:
$result false// создали переменную boolean
$result mysql_query("SELECT ip,c_port,id FROM lgsl"); // сконвертировали в ресурс
if(($result != false) && (mysql_num_rows($result) > 0)){ // проверили, уж не boolean-ли переменная случайно

Учитывая, что в запросе MySQL даже переменных нет, то $result всегда либо будет возвращать ресурс с нулевым результатом, либо ресурс с списком результатов. Какой толк туда-сюда её гонять.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 17.08.2010, 20:19   #13
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Ну, собственно говоря - проверку на false я применил исключительно как определение того,прошел ли запрос(т.е. корректен ли он,нет ли ошибок):
Цитата:
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.
Хотя,возможно это и не лучший способ....
Andkorol вне форума Ответить с цитированием
Старый 18.08.2010, 16:25   #14
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Я понимаю, что ты со мной согласен, но мне кажется ты не совсем понимаешь, почему я говорю, что именно в этом случае проверка на false неуместна.
Поясню:
запрос SQL в данном случае статический. В нём нет переменных. Он запрашивает одни и те же столбцы из одной и той же таблицы каждый раз, без каких-либо условий. Ошибки в этом запросе быть не может по дефолту. Это значит, что mysql_query просто никогда не вернёт false. Оно не возможно также по дефолту. Зачем проверять то, чего быть просто не может? Это лишний код и лишнее процессорное время.
Конечно, это мелочь. Но важность не в том, чтобы сохранить миллионную долю миллисекунды, а в том, чтобы понимать как это работает, а значит знать как сделать лучше в другом случае, возможно непохожем на данный.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 18.08.2010, 17:15   #15
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Johnatan
Понял - имеется ввиду данный конкретный случай(статический запрос).
Спасибо!
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP и MySQL удаление Table bondik PHP 14 11.07.2017 09:53
checkbox and php mar4elo PHP 1 03.08.2010 23:21
Удаление информации из файлов .mb: почему не происходит? Ruschel БД в Delphi 4 25.02.2010 09:22
Удаление повторной информации из таблиц paratruper17 Microsoft Office Word 8 03.11.2009 10:31
(PHP) Передача информации о выбранном компоненте sabina_smile PHP 2 11.12.2007 23:22