Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 28.02.2009, 23:11   #1
Эксперт
 
Аватар для Al Pacino
 
Регистрация: 09.05.2008
Адрес: ПГ
Сообщений: 1,704
Вес репутации: 0
Al Pacino имеет ошибки в прошлом
По умолчанию PHP, вопрос по "or"

вопрос. есть конструкции вида
<variable> = <statement1> or <statement2>;

/* например

<php
$result = mysql_query("SELECT * WHERE 1=1")
or die("Invalid query: " . mysql_error());
?>
*/

не совсем clear как это работает.
я понимаю тут сначала вычисляется <statement1> и если оно
boolean(<statement1>) == TRUE, то <statement2> не вычисляется?
__________________
есть тема?
Al Pacino вне форума   Ответить с цитированием
Старый 28.02.2009, 23:26   #2
Вредина
 
Аватар для Jooz
 
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 432
Jooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущее
По умолчанию

Ну в общем вы правы, с некоторыми но.

Цитата:
boolean(<statement1>) == TRUE, то <statement2> не вычисляется
Только ключевое тут не or, а die - $result по сути True всегда но может не удаться mysql_qwery, т.е. вернула mysql_error()? ну мы и говорит exit(mysql_error())
__________________
Чтобы произошло чудо нужно обязательно дунуть. Если не дунуть - чуда не произойдет!
Jooz вне форума   Ответить с цитированием
Старый 28.02.2009, 23:31   #3
Эксперт
 
Аватар для Al Pacino
 
Регистрация: 09.05.2008
Адрес: ПГ
Сообщений: 1,704
Вес репутации: 0
Al Pacino имеет ошибки в прошлом
По умолчанию

Jooz, +1 в репу.
__________________
есть тема?
Al Pacino вне форума   Ответить с цитированием
Старый 01.03.2009, 08:37   #4
Старый зулус
 
Аватар для slavs™
 
Регистрация: 18.02.2008
Адрес: КваЗулу-Наталь
Сообщений: 1,649
Вес репутации: 338
slavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущее
По умолчанию

Al Pacino, для условий лучше использовать |
slavs™ вне форума   Ответить с цитированием
Старый 01.03.2009, 10:25   #5
Специалист
 
Регистрация: 05.06.2008
Адрес: Betelgeize
Сообщений: 247
Вес репутации: 204
edne - это имя известно всемedne - это имя известно всемedne - это имя известно всемedne - это имя известно всемedne - это имя известно всемedne - это имя известно всем
По умолчанию

Цитата:
Сообщение от slavs™ Посмотреть сообщение
для условий лучше
Моночленственно. Это кому как удобнее.
Я например вообще использую конструкции, более близкие к классике, типа
if(mysql_query("SELECT * WHERE 1=1")){
тут ещё всё работает
}
а тут уже ничего не работает
edne вне форума   Ответить с цитированием
Старый 01.03.2009, 12:57   #6
Вредина
 
Аватар для Jooz
 
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 432
Jooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущее
По умолчанию

Цитата:
if(mysql_query("SELECT * WHERE 1=1")){
}
Как вы это можете использовать? Где #Resurs переменная типа $result, которую потом через феч_арей или другой оператор нужно разбирать?
Извините, ваш запрос очень не производительный, т.к. требует как минимум второго дублирующего запроса.

resurs = operation or die operation - без вариантов

Оператор "|" не будет работать, т.к. запрос по сути "нативный" и тут есть другие операторы ">?", ":", "!?" и т.п.
__________________
Чтобы произошло чудо нужно обязательно дунуть. Если не дунуть - чуда не произойдет!
Jooz вне форума   Ответить с цитированием
Старый 01.03.2009, 13:22   #7
Старый зулус
 
Аватар для slavs™
 
Регистрация: 18.02.2008
Адрес: КваЗулу-Наталь
Сообщений: 1,649
Вес репутации: 338
slavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущееslavs™ - прекрасное будущее
По умолчанию

Jooz, я про || вообще сказал, впринципе, а в данном конкретном случае именно or die надо
slavs™ вне форума   Ответить с цитированием
Старый 01.03.2009, 14:51   #8
Вредина
 
Аватар для Jooz
 
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 432
Jooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущее
По умолчанию

Цитата:
Сообщение от slavs™ Посмотреть сообщение
Jooz, я про || вообще сказал, впринципе, а в данном конкретном случае именно or die надо
Ну разумеется я понял
__________________
Чтобы произошло чудо нужно обязательно дунуть. Если не дунуть - чуда не произойдет!
Jooz вне форума   Ответить с цитированием
Старый 01.03.2009, 15:34   #9
Специалист
 
Регистрация: 05.06.2008
Адрес: Betelgeize
Сообщений: 247
Вес репутации: 204
edne - это имя известно всемedne - это имя известно всемedne - это имя известно всемedne - это имя известно всемedne - это имя известно всемedne - это имя известно всем
По умолчанию

Цитата:
Сообщение от Jooz Посмотреть сообщение
Как вы это можете использовать?
Не представляю как это можно использовать. Надо дунуть.
И вдумчиво учимся отличать реальный код от примера
edne вне форума   Ответить с цитированием
Старый 01.03.2009, 16:39   #10
Вредина
 
Аватар для Jooz
 
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 432
Jooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущее
По умолчанию

Цитата:
Сообщение от edne Посмотреть сообщение
Не представляю как это можно использовать. Надо дунуть.
И вдумчиво учимся отличать реальный код от примера
Действительно нужно дунуть чтобы написать такой пример, который даже как пример написать нельзя ))
__________________
Чтобы произошло чудо нужно обязательно дунуть. Если не дунуть - чуда не произойдет!
Jooz вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
А зачем у вновь добавляемых площадок "по умолчанию" стоит "скрывать УРЛ"? Ковалев Вопросы по работе системы 6 15.12.2008 12:02
Уберите, плиз, "Новости SAPE.RU" и "Дайджест блогов" из шапки форума Edward Курилка 36 27.08.2008 20:53
Как внутри акаунта перевести деньги заработанные "вебмастером" на счёт "оптимизатора" kapa Вопросы от новичков 10 11.01.2008 17:45


Часовой пояс GMT +3, время: 19:34.