【问题标题】:PDO_4D Produces 'General Error: 1004 Failed to execute statement' for UPDATE query but not SELECT queriesPDO_4D 为 UPDATE 查询而不是 SELECT 查询生成“一般错误:1004 无法执行语句”
【发布时间】:2017-07-19 04:52:44
【问题描述】:

我正在使用 PHP7 和 PDO_4D 连接到 4D 数据库。到目前为止,我只从数据库中读取数据,并没有写入数据。

下面的带有 SELECT 语句的代码块将正确执行。

$db = new PDO($dsn,$user,$pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


$sql0 = "SELECT FirstName FROM User WHERE Surname = 'Mouse'";

try {
    $stmt0 = $db->prepare($sql0);
    $stmt0->execute();
} catch (PDOException $e0) {
    echo "Problem with SELECT query:".$e0->getMessage();
}
$results_array0 = $stmt0->fetchAll();

但是,下面我使用 UPDATE 查询的代码块会产生错误。

$sql1 = "UPDATE User SET FirstName = 'Mickey' WHERE Surname = 'Mouse'";

try {
    $stmt1 = $db->prepare($sql1);
    $stmt1->execute();
} catch (PDOException $e1) {
    echo "Problem with UPDATE query:".$e1->getMessage();
}

错误:

SQLSTATE[HY000]: General error: 1004 Failed to execute statement.

根据4D SQL documentation 通用错误:1004 对应于“拒绝访问”。我怀疑 4D 服务器正在限制需要 WRITE 访问的 SQL 语句。

看 4D 服务器,我只看到这个; 4D SQL Server Settings

为了执行 UPDATE 查询,我需要对 4D SQL Server 进行任何其他更改吗?还是我错过了什么?

【问题讨论】:

    标签: php sql sql-server pdo 4d-database


    【解决方案1】:

    是的,4D 开发人员需要授予您访问权限。这只是 1 行代码。

    您好, 彼得

    【讨论】:

      猜你喜欢
      • 2012-11-18
      • 1970-01-01
      • 2016-08-17
      • 2018-08-03
      • 2016-12-08
      • 2015-09-01
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多