sql update不会更改DB中的数据

时间:2015-03-11 13:19:30

标签: php mysql pdo

我在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();

3 个答案:

答案 0 :(得分:0)

如果您正在使用PDO的交易,则必须提交更改以在数据库中应用修改。

请参阅PDO::commit()功能。

答案 1 :(得分:0)

即使使用新值或现有值更新记录,MySql也始终在两种情况下都返回1 ....

答案 2 :(得分:0)

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

提交它

有关详细信息,请参阅documentation