close
我為網站的表單開了一個 bit 型態的欄位來儲存布林值 (boolean),取出時發現怎麼取,不管裡頭存的是 true (1) 或 false (0),抓出來都會被判斷成 true。
不管是這樣:
if($row_data["is_user"]==1)
還是這樣:
if($row_data["is_user"]==true)
都沒辦法正確判斷資料庫的 is_user 欄位的值。
查了一下,找到這篇:"MYSQL Bit field with PHP",裡頭說到,bit 欄位被 PHP 取回時,可能會以二進位 (binary) 取得,所以要用 PHP 的 ord() 這個函式來取回 ASCII,再做判斷。
試著加上 ord() 就好了:
if(ord($row_data["is_user"])==true)
文章標籤
全站熱搜
留言列表