每次我创建一个 mysqli 对象时,我都会使用这样的准备好的 mysqli 语句(有时每页有几个):
$update_foobar_statement = $mysqli->prepare("UPDATE foo SET bar = ? WHERE foobar = ?");
$update_foobar_statement->bind_param('ss', $bar, $foobar);
$update_foobar_statement->execute();
我实际上是在创建 mysqli 对象的副本。这让我想到我可能创建了太多对象并损害了我的 Web 应用程序的整体性能。
我喜欢通过初始变量澄清 mysqli 语句正在做什么,但这是不好的做法吗?我应该改为执行以下操作吗?
$mysqli->prepare("UPDATE foo SET bar = ? WHERE foobar = ?");
$mysqli->bind_param('ss', $bar, $foobar);
$mysqli->execute();