SQLite3 PHP“更新” - 准备好的查询结果

时间:2013-07-28 23:59:17

标签: php sqlite sql-update prepared-statement

如果SQLite3更新查询(已准备好)成功与否,有人知道如何检查PHP吗?

她的代码......

$stmt = $project->prepare( 'UPDATE tasks set title=:title WHERE rowid=:rowid' );
$stmt->bindValue(':title', rtrim($_POST['title'],'<br>'), SQLITE3_TEXT);
$stmt->bindValue(':rowid', (int)$_POST['rel'], SQLITE3_INTEGER);
$result = $stmt->execute();
var_dump( $result );

这段代码正在改变我的表格。但是“var_dump($ result)”每次返回一个空对象。即使我通过传递“rowid = non-existing-rowid”强制错误。

任何想法,我如何检查我的更新查询?

1 个答案:

答案 0 :(得分:1)

UPDATE语句会更新与WHERE条件匹配的记录数;这可能是零,一个或多个记录。 在SQL级别上,所有这些都被认为是成功的。

如果要查找受影响的记录数,可以使用数据库连接对象的changes method。 在你的情况下:

...
$result = $stmt->execute();
if ($result) {
    echo 'Updated rows: ', $project->changes();
}