1

我有以下代码:

$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 正确的语法吗?

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

非常感谢你的帮助!

4

1 回答 1

2

如果同一个查询在其中包含其他数据多次执行,则准备好的语句与存储过程相结合具有更好的性能。如果该查询在每个脚本中只运行一次,您可以按照描述进行操作,但请记住安全性的损失。

示例可以在这里找到:

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

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

于 2012-05-09T13:50:10.417 回答