如何使用php更新SQLite表中的数据?

时间:2019-06-21 15:54:18

标签: php html sql sqlite

我正在处理如下所示的php代码:

class MyDB extends SQLite3
{
    function __construct()
    {
        $this->open('database/Podcast.db');
    }
}
$db = new MyDB();

$f = $mp4_files[$_POST['id']];

$parts = pathinfo($f);

switch ($parts['extension']) {
        /* Conversion of mp4 into mp3 is happening */
}

print_r($f); // Line Z

$result = $db->exec("UPDATE Podcast_Export SET Status = 'Completed' WHERE House_number = '" . $f . "'"); // Line A

if ($result == FALSE) {
    echo "Error in fetch " . $db->lastErrorMsg(); // Line M
}

在第Z行上,它在控制台上打印 36031P.mp4 (从第一个表格行(从用户界面)单击“转到”按钮时

在第Z行上,在控制台上打印 hello.mp 4(当从第二个表行(从用户界面中)单击“转到”按钮时 >)


问题陈述:

我在A行有一个查询,以便更新 Podcast_Export 表,但是在M行它不起作用并抛出错误:

Error in fetch database is locked

此刻,我在 Podcast_Export 表中具有以下内容:

enter image description here

我正在使用的 SQLite版本 3.27.2

2 个答案:

答案 0 :(得分:0)

php SQLITE3 doc

  

SQLite3 :: exec —对给定的数据库执行无结果查询

它返回一个布尔值。 “无结果”查询通常是INSERT,UPDATE,DELETE,但不是 SELECT。

您可能想研究如何使用querySingle获得所需的结果。

答案 1 :(得分:0)

通常,数据库处于锁定状态是在您具有打开的DB进程时发生的。 检查以下网址,希望对您有帮助。

Database locked while trying to access from PHP script