PHP Doku:: Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge. - function.sqlite-changes.html

Verlauf / Chronik / History: (2) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenSQLiteSQLite Funktionensqlite_changes -- SQLiteDatabase->changes

Ein Service von Reinhard Neidl - Webprogrammierung.

SQLite Funktionen

<<sqlite_busy_timeout -- SQLiteDatabase->busyTimeout

sqlite_close>>

sqlite_changes

SQLiteDatabase->changes

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_changes -- SQLiteDatabase->changes Liefert die Anzahl der vom letzten SQL-Befehl geänderten Datenbankeinträge.

Beschreibung

int sqlite_changes ( resource $dbhandle )

Objektorientierter Stil (Methode):

int SQLiteDatabase::changes ( void )

Liefert die Anzahl der Datenbankeinträgen, die durch den letzten SQL-Befehl an die Datenbankverbindung (dbhandle) geändert wurden.

Parameter-Liste

dbhandle

Die SQLite-Datenbankressource, erzeugt durch sqlite_open(), wenn im prozeduralem Kontext genutzt. Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

Rückgabewerte

Liefert die Anzahl der geänderten Reihen.

Beispiele

Beispiel #1 Prozeduraler Stil

<?php
$dbhandle 
sqlite_open('mysqlitedb');
$query sqlite_query($dbhandle"UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!
$query) {
    exit(
'Fehler in Anfrage.');
} else {
    echo 
'Anzahl der geänderten Reihen: 'sqlite_changes($dbhandle);
}
?>

Beispiel #2 Objektorientierter Stil

<?php
$dbhandle 
= new SQLiteDatabase('mysqlitedb');
$query $dbhandle->query("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'");
if (!
$query) {
    exit(
'Fehler in der Anfrage.');
} else {
    echo 
'Anzahl der geänderten Reihen: '$dbhandle->changes();
}
?>

Siehe auch

  • sqlite_open() - Öffnet eine SQLite-Datenbank und erzeugt die Datenbank, wenn diese nicht existiert.


2 BenutzerBeiträge:
- Beiträge aktualisieren...
jazz at funkynerd dot com
1.04.2010 7:06
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.
bermi ferrer:at-akelos dotCom
28.09.2005 15:02
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.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)