SQLite3::changes
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SQLite3::changes — 直近の SQL 文で変更 (あるいは挿入、削除) された行の数を返す
パラメータ
この関数にはパラメータはありません。
戻り値
直近の SQL 文で変更 (あるいは挿入、削除) された行の数を表す int 値を返します。
例
例1 SQLite3::changes() の例
<?php
$db = new SQLite3('mysqlitedb.db');
$query = $db->exec('UPDATE counter SET views=0 WHERE page="test"');
if ($query) {
echo '変更された行の数: ', $db->changes();
}
?>
+add a note
User Contributed Notes 1 note
teclado at tandex dot com ¶
9 years ago
There is an issue that may be meant or not, but in my case is annoying. If you have have a schema like the following:
[code]
pragma foreign_key = on;
create table parent (
id integer,
a varchar,
primary key (id asc)
);
create table child (
id integer,
b varchar,
a integer,
primary key (id asc),
foreign key (a) references a (id) on delete cascade on update cascade
);
[/code]
When you try to delete a parent row (delete from parent where parent.id=?) it deletes all the childs referenced to this parent, but the method SQLite3::changes() is still returning 1, as if it only have deleted the parent.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google