当神不再是我们的信仰,那么信仰自己吧,努力让自己变好,不辜负自己的信仰!

bindParam的绑定参数是引用

我封装DB(数据库)类的时候遇到的一个问题。当时的代码是这样的:

当时的想法是,通过读取传进来的参数数组的元素为sql语句绑定参数,调试之后发现,只能绑定最后一个参数成功,经过几番测试后。
上了官网看手册–手册的解释是:

绑定一个PHP变量到用作预处理的SQL语句中的对应命名占位符或问号占位符。 不同于PDOStatement::bindValue(),此 变量作为引用被绑定,并只在PDOStatement::execute()被调用的时候才取其值

看到引用二字方醒悟,并不是循环一次,绑定一次参数。而是循环所有次数,才将参数绑定上去。而我绑定的变量每一次都是$value
最后将$value改成$param[$key]即可

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注