PHP 7.4.0RC6 Released!

SQLite3::changes

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::changesVeritabanında son SQL deyimi ile işlem gören satır sayısını döndürür

Açıklama

public SQLite3::changes ( void ) : int

Veritabanında son SQL deyimi ile değişikliğe uğrayan, silinen veya yerleştirilen satır sayısını döndürür.

Değiştirgeler

Bu işlevin değiştirgesi yoktur.

Dönen Değerler

İşlem gören satır sayısını bir tamsayı olarak döndürür.

Örnekler

Örnek 1 - SQLite3::changes() örneği

<?php
$db 
= new SQLite3('mysqlitedb.db');

$query $db->exec('UPDATE counter SET views=0 WHERE page="test"');
if (
$query) {
    echo 
'İşlem gören satır sayısı: '$db->changes();
}
?>

add a note add a note

User Contributed Notes 2 notes

up
3
teclado at tandex dot com
4 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.
up
-5
krebs dot seb at googlemail dot com
8 years ago
It seems, that this method doesn't report the affected rows properly, when using with savepoints or a transaction.
To Top