将值直接传递给预处理语句方法PHP

时间:2012-05-09 13:46:28

标签: php mysql

我有以下代码:

$stmt = $mysqli->prepare("INSERT INTO account 
                            SET accFirstName=?, accLastName=?, accTelephone=?, 
                                accAltTelephone=?, accAddress=?, accCountry=?, 
                                accCity=?, accRegion=?, accPostalCode=?, 
                                accEmail=?, accEmailConfirmed=?, accPassword=?, 
                                accType=?, accStatus='A', accDate=NOW(), 
                                accOrder=".$acctID);

我可以直接将值传递给prepare()而无需绑定它,例如:accStatus='A', accDate=NOW(), accOrder=$acctID

这些值不是来自用户输入,不需要在这里谈论安全性。

这是一个php / mysql正确的语法吗?

之间,我运行查询,数据正确保存在数据库中。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:2)

如果同一查询与其中的其他数据一起执行多次,那么

与存储过程相结合的预处理语句会有更好的性能。如果该查询仅在每个脚本中运行一次,您可以按照描述执行,但请记住安全性损失。

示例可以在这里找到:

http://php.net/manual/en/pdo.prepared-statements.php

查询的语法/字符串没有预编译语句的绑定看起来很好。