Я пытаюсь установить новое значение, ЕСЛИ что-то = 1 - PullRequest
0 голосов
/ 02 апреля 2012

Я пытаюсь получить логическое значение, которое, если равно 1, вставляется изображение.

Я просмотрел учебник и сделал его для начала, чтобы проверить, работает ли он:

AND IF(IF_DRAFT_BEER = '1', 5, 2) = 1

Я пытался сказать, что , если IF_DRAFT_BEER = 1, затем установить значение 5, в противном случае 2. Если это сработало, я бы попытался реализовать изображения.

Я напечатал это так:

$row['IF_DRAFT_BEER']

Однако после вставки предложения и если ни одна из строк больше не отображается.

Кто-нибудь знает, почему это происходит? Спасибо! :)

Ответы [ 2 ]

3 голосов
/ 02 апреля 2012

Вы всегда получите логическое значение ЛОЖЬ из этого запроса.Ваш IF() вызов возвращает либо 5, либо 2.Затем вы проверяете эти 5 или 2 против 1, который всегда будет иметь значение FALSE.

Бросьте последние = 1:

AND IF(IF_DRAFT_BEER = 1, 5, 2)

, чтобы 5 и 2 могли на самом делебыть возвращенным.

2 голосов
/ 02 апреля 2012

Ну, твоя линия;

AND IF(IF_DRAFT_BEER = '1', 5, 2) = 1

в основном даст результат 5 или 2, затем сравните его с 1. Поскольку ни 5, ни 2 не равны 1, сравнение никогда не будет верным, и запрос не вернет ни одной строки.

Я не совсем уверен, почему у вас есть такой тип вычисления в предложении where, хотя, я подозреваю, вы захотите перенести ваш расчет на выбор и фактически получить его в результате, л;

SELECT IF(IF_DRAFT_BEER = '1', 5, 2) AS IF_DRAFT_BEER

Таким образом, он будет отображаться в вашем результате $row.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...