DELETE SQL未激发-对非对象的成员函数exec()的调用


DELETE SQL not firing - call to a member function exec() on a non-object

我有一个PHP脚本,它接受两个POST值,然后使用它们从数据库中查找并删除一行,如下所示:

<?php
$incomingListNameD = $_POST['text'];
$incomingNewContentD = $_POST['text2'];
    //MAIN DB function for removing items
try
{
    //open the database  PDO METHOD
    $db = new PDO('sqlite:listDB.sqlite');
    $db->exec("INSERT INTO ListItems (ParentList, Content) VALUES ('Poopy', 'Ruglegs');");
    //Prepared statement version of values remove
    $qry = $db->prepare("DELETE FROM ListItems (ParentList,Content) VALUES (?,?)");
    $qry->execute(array($incomingListNameD,$incomingNewContentD));
    // close the database connection
    $db = NULL;
}
catch(PDOException $e)
{
    print 'Exception : '.$e->getMessage();
}
?>

问题是我一直收到一个错误:

对非对象上的成员函数exec()的
调用

Poopy Rugglegs(不要问,只是为了调试而添加的)行被添加了,所以我确实有一个正在工作的句柄;我的DELETE就是不起作用。有什么想法吗?

在调用exec()之前,检查$db是否正确构造。我猜它没有正确实例化。

用于调试:

var_dump($db)

用于处理:

if(isset($db)) {
...
} else { 
...
}