我正在学习参数化,我看到一些查询在正在准备的查询中使用这种表示法:varname
,然后像这样绑定:bindParam(':varname', $varvalue)
。
然后我看到他们在正在准备的查询中使用?
的地方,然后是:bindParams('sd', $stringvalue, $doublevalue)
。
似乎后者版本至少在某种程度上是“更安全”,因为它强制/检查类型(strings / double / integers / blob)。但是,我更喜欢第一种符号,它可能更适合我正在做的一些抽象事情,因为问号并不总是处于明显的顺序/位置。
任何中间地带还是其中一个?
答案 0 :(得分:0)
你不能同时使用这两种方法,因为一种方法与MYSQLi类相关,另一种方法与PDO类相关,这是两种不同的方法。
http://php.net/manual/de/mysqli-stmt.bind-param.php
http://de2.php.net/manual/en/pdostatement.bindparam.php
当您通过PDO类连接到数据库时,只能使用您喜欢的第一种表示法。正如您在链接网站中看到的那样:也可以使用此方法指定数据类型...