我正在使用SQLite3,以及PHP内置的SQLite3类。基于我熟悉的其他mysql类,以下代码无法按照我期望的方式工作。 manual表示如果查询成功,exec
方法应返回true,失败时返回false。但是,从我所看到的情况来看,情况似乎并非如此。
$udb = new SQLite3('app.sqlite');
if($udb->exec("DELETE FROM users WHERE id = $del") != FALSE)
$message = 'Deleted User';
else
$message = 'Could not delete the user.';
我希望如果具有该ID的行不存在,查询将返回false或0或'0'。这些都不准确。事实上,我无法弄清楚函数返回的是什么。
有人可以帮忙查看这个错误检查if
块应该是什么样的吗?
答案 0 :(得分:4)
$udb->changes() > 0
正是您要找的
答案 1 :(得分:0)
成功执行查询与返回失败时为FALSE 不同。
如果您的SQL无效,那么它将失败(查询),它将返回false。