繁体   English   中英

我如何知道准备语句是否正在缓存?

[英]How do I know if a Prepared Statement is being Cached?

我一直在我的PHP脚本中重用相同的变量$stmt来编写$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准备,请参阅:

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

你没有。 但是重写变量不会有太大变化 - 你为变量赋值,而不是编辑任何东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM