1

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」を渡してエラーを強制しても。

更新クエリを確認するにはどうすればよいですか?

4

1 に答える 1

1

UPDATEステートメントは、WHERE条件に一致する数のレコードを更新します。これは、0、1、または多数のレコードの可能性があります。SQL レベルでは、これらすべてが成功したと見なされます。

影響を受けたレコードの数を知りたい場合は、データベース接続オブジェクトのchangesメソッドを使用できます。あなたの場合:

...
$result = $stmt->execute();
if ($result) {
    echo 'Updated rows: ', $project->changes();
}
于 2013-07-29T07:13:40.283 に答える