本文介绍了会发生什么,当我发布尔是非题到PDO语句被绑定到一个int字段的参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在数据库中有一个int场:禁用应该是真的假的,我假设数据库中获取布尔值作为整数0和1,但我不确定
I have an int field in database and :disabled is supposed to be true false, I am assuming database gets boolean values as integer 0 and 1, but I am unsure.
function loadbyinput($name,$password,$ipnumber="0.0.0.0",$type="member",$disabled=FALSE){
$dbh = new PDO(...);
$statement=$dbh->prepare("insert into
actor(name,password,ipnumber,type,disabled)
values(:name,:password,:ipnumber,:type,:disabled)");
$statement->bindParam(":disabled", $disabled);
}
我此刻不写任何GUI所以很难测试这样的事情对我来说。
I am not writing any GUI at the moment so it is hard to test such things for me.
推荐答案
取决于你的架构。对于数据库中的布尔列就可以使用下面的结构(有一个布尔结构,但它只是一个TINYINT别名):
Depends on your schema. For boolean columns in the database you can use the following construct (there is a BOOLEAN construct, but it's just an alias for TINYINT):
`disabled` tinyint(1) NOT NULL DEFAULT '0'
然后当你绑定,可以强制一个布尔值:
Then when you bind, you can enforce a bool value:
$stmt->bindValue(':disabled', $disabled, PDO::PARAM_BOOL);
这篇关于会发生什么,当我发布尔是非题到PDO语句被绑定到一个int字段的参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!