我一直在PHP脚本中重复使用相同的变量$stmt来编写准备好的语句:

$stmt = $dbh->prepare("SELECT column_A FROM Table1 WHERE id=?");
$stmt->bindValue(1, $id, PDO::PARAM_INT);
$stmt->execute();
....

$stmt = $dbh->prepare("UPDATE Table2 SET column_B=? WHERE column_A=?");
$stmt->bindValue(1, $name);
$stmt->bindValue(2, $column_A);
$stmt->execute();

我的问题是,我如何知道这两个语句是否正在写入缓存,而第二个语句虽然共享相同的变量名,但第二个语句没有覆盖第一个语句?

最佳答案

语句是由数据库引擎而不是PHP准备的,请参阅:

  • http://dev.mysql.com/doc/refman/5.1/en/prepare.html

  • 因此,在PHP中重用相同的变量名不会使MySQL准备“缓存”无效。

    关于php - 我如何知道是否要对准备好的语句进行缓存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8298267/

    10-17 03:02