php - PDO更新不起作用,没有错误

标签 php mysql sql pdo

我对自己无法执行此更新语句的事实视而不见。

$prepare = 'UPDATE plugins SET status=? WHERE name=?';
$execute = array("0", "testplugin");

$statement = $this->_dbConnectionInstance->prepare($prepare);
$statement->execute($execute);

我将错误报告设置为 PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION 并且它不会产生任何错误。但是,执行后数据库中的行不会更改。奇怪的是,直接在数据库上执行查询(PHPMyAdmin,用值替换问号)确实有效。 此外,数据库连接正常(一个简单的查询'SELECT * FROM plugins'可以工作)。

The database structure

最佳答案

我使用了一个在线可用的数据库类(PDO-Quick),它有一个架构错误。实例化数据库类时,将启动一个事务 (1)。但是,类中没有任何地方被提交,并且事务始终保持“开放”状态。我现在在每个查询之前开始一个事务,在执行后提交它,并在发生任何错误时回滚 (2)。

(1)

$this->_dbConnectionInstance->beginTransaction();

(2)

try {
    $this->_dbConnectionInstance->beginTransaction();
    $stmt = $this->_dbConnectionInstance->prepare($prepare);

    $stmt->execute($execute);
    $this->_dbConnectionInstance->commit();
} catch(PDOException $e) {
    $this->_dbConnectionInstance->rollBack();
    exit();
}

关于php - PDO更新不起作用,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23317974/

相关文章:

php - 计算和比较行查询 Mysql PHP

php - 将数据从 .xml php 数组插入到 mysql

c# - 如何保证条目的时间范围不重叠?

mysql - 用另一个表消除一个表中的值。 super 慢

php - Yii Framework 未知属性异常

php - 框架的可移植代码?

MySQL - 多对多表 - 主键和重复项

sql - 像 Sphinx 这样的全文搜索服务器如何工作?

php - Magento : How to display selected custom option price in product detail page In price box

php - 授权访问某些页面