我在PHP中使用PDO进行了简单的更新查询:

$pdos = connect_db();
$pdos->beginTransaction();
try {
    $query = "UPDATE `myo`.`question` SET `intitule` = 'Question azeerrr' WHERE `question`.`id` = 1";
    $pdo = $pdos->prepare($query);
    $pdo->execute();
    return $pdo->rowCount();
catch (Exception $e) { print_r ($e); exit (); }


即使我没有收到错误消息,甚至从rowCount()接收到“ 1”(更新成功),这似乎也不起作用(数据库中的数据未更改)。

而且,如果我将此查询复制并粘贴到PHPmyadmin中并运行它,则它可以工作并且修改该行,

从我的网站执行UPDATE而不是与登录PHPmyadmin时有所不同的权利有关吗?

编辑:
FIXED : thanks for you help : PDO::commit(); was needed to close my PDO::beginTransaction();

最佳答案

当您开始使用$pdos->beginTransaction();进行交易时,我很确定您需要使用$pdos->commit();进行提交

有关更多信息,请参见documentation

10-07 20:31