2014-04-11 55 views
0

我有一個名爲「狀態」的數據庫表中的布爾列,我想用它來控制用戶提交的內容的狀態,我已將其類型設置爲TINYINT並且它的默認值是「0」,現在用這個片段應用功能,內容布爾值功能的問題

$status = ''; 

if ($row_userDetails['status'] == FALSE) { 

$status = 'Not Approved'; 
} 
else { 

$status = 'Approved'; 
} 

var_dump($row_userDetails['status'])結果字符串(0)「0」 再後,我將使用狀態來顯示或不如果分別批准或不批准顯示內容。

但我的問題是,我似乎無法得到TRUE值即「Approved」當我echo $status,我只得到FALSE值即「Not Approved」。請幫我解決這個問題

+0

做一個'的var_dump($$ row_userDetails)'並張貼在這裏的結果。 –

+0

如果db值爲0,1則使用0或1進行匹配 –

+0

var_dump($ row_userDetails ['status'])顯示字符串(1)「0」根據表中的數字內容增加「0」的值 –

回答

0

由於玩弄類型,你正在經歷一個差異。

這是99%的可能是$row_userDetails['status']提供(string) 'FALSE'

^^如果這是真的,那麼使用:if($row_userDetails['status'] === 'FALSE') < - 注意單引號表示字符串值

正確的方法找出您正在使用的是什麼類型的使用方法:

echo gettype($row_userDetails['status']);` 

,它會顯示任何booleanintegerdoublestringarrayobjectresource,或NULL如引用here