beginTransaction()是否与prepare()一起工作?


Does beginTransaction() work with prepare()?

我有以下代码:

$db->beginTransaction();
$achievement_name = $db->prepare("SELECT `achievement_name` FROM `achievement_names` WHERE `id` = :a_id");
$achievement_name->bindValue(":a_id",$r['achievement_id'],PDO::PARAM_INT);
$achievement_desc = $db->prepare("SELECT `achievement_desc` FROM `achievement_names` WHERE `id` = :a_id");
$achievement_desc->bindValue(":a_id",$r['achievement_id'],PDO::PARAM_INT);
$achievement_image = $db->prepare("SELECT `image` FROM `achievement_names` WHERE `id` = :a_id");
$achievement_image->bindValue(":a_id",$r['achievement_id'],PDO::PARAM_INT);
$db->commit();

PDO是否可能?有$db->准备()和bindValue()函数,然后提交它们?它似乎不适合我,因为他们返回bool(false)。

事务用于一致的读写数据。"准备"不读取或写入任何数据。

所以,答案是:是的,beginTransaction()可以与prepare()一起正常工作,但是它没有用。