【问题标题】:PDO:sqlite doesnt INSERT data, yet no errorPDO:sqlite 没有插入数据,但没有错误
【发布时间】:2011-02-10 14:56:13
【问题描述】:
try
{
    $res = $db->exec($sql);
    if ($res === FALSE)
    {
        print_r($db->errorInfo());
        die();
    }
}
catch(PDOException $e)
{
    die($e->getCode().':'.$e->getMessage());
}
catch(Exception $e)
{
    die($e->getCode().':'.$e->getMessage());
}    

没有错误信息,也不会被捕获为异常。然而 $res 是 FALSE 并且没有数据被插入。

Array
(
    [0] => 
)

但是当我回显 $sql 并在 SQLiteManager 中输入该查询时,它可以插入数据。

【问题讨论】:

  • 请在代码示例块中插入代码
  • 你能给我们一个示例查询(可能还有表结构)吗?你我们哪个版本的php?这个版本的php用的是哪个版本的sqlite库(phpinfo()能看出来)?

标签: php sqlite pdo


【解决方案1】:

确保存储文件的目录是可写的。

【讨论】:

  • 如果适用,还要确保 SELinux 处于“许可”模式。
【解决方案2】:

我只在 Python 中使用 sqlite,但我必须在那里提交插入/更新语句……也许这里也是这种情况? http://docs.php.net/manual/en/pdo.commit.php

【讨论】:

  • 仅在使用事务时。 0:我没有使用 exec 的活动事务,应该立即提交执行。
猜你喜欢
  • 2019-03-16
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
相关资源
最近更新 更多