我用PHP,PDO和SQL相對缺乏經驗。據說,我一直在做一個小項目,雖然大多數事情都按預期工作,但我遇到了一些問題。 採取從mysql(MariaDB的)以下信息數據庫使用準備好的聲明PDO與PHP - 二進制數
| Field | Type | Null | Key | Default | Extra |
| age | bit(6) | YES | | NULL | |
在PHP我有,你輸入你的年齡,例如一個簡單的形式。我的是33.
$age=decbin($_POST['age']);
這正確顯示100001當我回聲$年齡。 用我的(可能是可怕的)PDO聲明
$stmt = $DBH->prepare("INSERT INTO Recruit(recruit_id, name, age) VALUES(:recruit_id,:name,:age)");
$stmt->execute(array(':recruit_id' => $recruit_id, ':name' => $name, ':age' => $age));
recruit_id和名稱都顯示沒有問題,但年齡總是填充爲111111不管什麼,我的年齡進入。
我試着做投(:年齡爲二進制(6))具有相同的結果。我完全不知道如何完成這項任務。
*****在數據庫中粘貼*****
我已經改變年齡爲整數糾正錯字,但是,我仍然是一對夫婦開/關選擇存儲爲二進制(1 )並提出同樣的問題。 PHP可以正確顯示的值作爲1或0,但是當發送到分貝,它始終是一個1(年齡呈現一個很好的例子,因爲所有的6位是1)
我已經得到了有關'Type'列不好的預感。你有什麼打算使用'BIT'類型? – tadman
^問自己同樣的事情。 –
Moi ausi mon ami。爲什麼要將一個年齡(一個明顯的整數)存儲爲二進制文件? – RiggsFolly