具有命名值和特定类型的Mysqli参数化

时间:2011-11-20 04:38:57

标签: php mysqli prepared-statement parameterization

我正在学习参数化,我看到一些查询在正在准备的查询中使用这种表示法:varname,然后像这样绑定:bindParam(':varname', $varvalue)

然后我看到他们在正在准备的查询中使用?的地方,然后是:bindParams('sd', $stringvalue, $doublevalue)

似乎后者版本至少在某种程度上是“更安全”,因为它强制/检查类型(strings / double / integers / blob)。但是,我更喜欢第一种符号,它可能更适合我正在做的一些抽象事情,因为问号并不总是处于明显的顺序/位置。

任何中间地带还是其中一个?

1 个答案:

答案 0 :(得分:0)

你不能同时使用这两种方法,因为一种方法与MYSQLi类相关,另一种方法与PDO类相关,这是两种不同的方法。

http://php.net/manual/de/mysqli-stmt.bind-param.php

http://de2.php.net/manual/en/pdostatement.bindparam.php

当您通过PDO类连接到数据库时,只能使用您喜欢的第一种表示法。正如您在链接网站中看到的那样:也可以使用此方法指定数据类型...