我有一个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 {
...
}