sqlite_changes

SQLiteDatabase::changes

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_changes -- SQLiteDatabase::changes Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.

Descripción

sqlite_changes ( resource $dbhandle ) : int

Estilo orientado a objetos (método):

public SQLiteDatabase::changes ( void ) : int

Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente ejecutada contra el manejador de base de datos dbhandle.

Parámetros

dbhandle

El recurso de base de datos devuelto desde sqlite_open(). Este parámetro no es requerido cuando se usa el método "Orientado a objetos".

Valores devueltos

Devuelve el número de filas cambiadas.

Ejemplos

Ejemplo #1 Estilo por procedimientos

<?php
$dbhandle 
sqlite_open('mysqlitedb');
$query sqlite_query($dbhandle"UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!
$query) {
    exit(
'Error in query.');
} else {
    echo 
'Number of rows modified: 'sqlite_changes($dbhandle);
}
?>

Ejemplo #2 Estilo orientado a objetos

<?php
$dbhandle 
= new SQLiteDatabase('mysqlitedb');
$query $dbhandle->query("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!
$query) {
    exit(
'Error in query.');
} else {
    echo 
'Number of rows modified: '$dbhandle->changes();
}
?>

Ver también

  • sqlite_open() - Abrir una base de datos SQLite y crear la base de datos si no existe

add a note add a note

User Contributed Notes 2 notes

up
0
bermi ferrer:at-akelos dotCom
19 years ago
When counting deleted records from the database, I realized that sqlite_changes() will return 0 if you are deleting all the records without including a WHERE clause.

So after "DELETE FROM users" sqlite_open() will print 0 even if rows where deleted, but if you use "DELETE FROM users WHERE 1" you will get the right result.

I had this problem on versions 5.0.4 and 4.4.0 under Windows servers.
up
-1
jazz at funkynerd dot com
14 years ago
When executing DELETEs, I found that adding an always true WHERE clause returns the number of rows deleted.

eg:  "DELETE FROM my_table WHERE 1"  will delete all the rows and sqlite_changes() will return the correct number of rows deleted.
To Top