我用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