为什么这个mysql查询实际上没有更新任何东西

时间:2014-01-21 06:05:18

标签: php mysql pdo

我不是后端专家,但我认为我对使用mysql的PDO查询非常了解但由于某种原因我无法弄清楚为什么这个语句似乎没有更新我的数据库中的任何内容(尽管条件肯定会在数据库中遇到) 无论如何这里是声明:

    $update = "UPDATE content
    SET src_link=:src_link
    WHERE content_id=:content_id";
    $stmt = db::getInstance()->prepare($update);
    $stmt->bindParam(':content_id', $video['content_id']);
    $stmt->bindParam(':src_link', $video['src_link']);
    $stmt->execute();

一些解释事务是在脚本中先前启动的,并且此代码包含在try catch中,没有捕获catch。 src_link是一个var_char,而content_id是一个主键。但是我打印出了视频数组并输入了这样的代码,这些代码在phpmyadmin中有效

UPDATE `content` SET `src_link`= 'http://www.youtube.com/watch?v=f3rMo5cgaXQ'
 WHERE `content_id`=6939

这些值直接来自我的php脚本中的尝试输出,似乎可以正常工作

无论如何,我有点迷失为什么这不起作用并且在最后几个小时一直坚持这个并且没有解决我无法前进所以任何帮助我如何能够让pdo正确输出将非常感谢,因为我有大约1000多个更新。 提前谢谢!

1 个答案:

答案 0 :(得分:2)

如果您已启动交易,则必须提交交易才能永久更改。