2013-04-21 2 views
0

enter image description hereСостояние проверить поле BIT

... и я проверяю это поле следующим образом:

if((bool)$website['IsDeleted']) { }

но всегда возвращает пустую строку независимо от значения в MySQL поле кастрированный баран его 0 или 1:

["IsDeleted"]=> string(1) "" }

Скажите, пожалуйста, что я здесь делаю? Должно ли быть изменено условие if?

+0

не он 'if ($ website ['IsDeleted']) {}'? – Amir

+0

@Amir - он перебрасывает переменную $ website ['IsDeleted'] в boolean - в этом нет ничего плохого. – bestprogrammerintheworld

+0

@Nimbuz, то вы имеете в виду, что он всегда делает заявление 'else', является ли оно 0 или 1? – Amir

ответ

0

Я не вижу ничего плохого в вашем if-statement.

<?php 
$website['IsDeleted'] = 1; 
if((bool)$website['IsDeleted']) { echo 'found you';} 
?> 

бы выход нашел вас

<?php 
$website['IsDeleted'] = 1; 
if((bool)$website['IsDeleted']) { echo $website['IsDeleted'];} 
?> 

бы выход 1

Если значение равно NULL, то он не будет работать, хотя. Затем вам нужно будет также проверить значение NULL.

<?php 
$website['IsDeleted'] = null; 
if((bool)$website['IsDeleted'] || $website['IsDeleted'] === null) { echo 'found you';} 
?> 

будет выводить вас.

+0

Я не могу установить значение вручную. Приходится извлекать из БД и проверять. – 3zzy

+0

Кажется, что значение, полученное из db, является фактической проблемой (а не if-statement). Как вы делаете выборку? – bestprogrammerintheworld

Смежные вопросы