ReLast - Klassik


SQLite


Hallo Welt

$db_handle = new SQLite3("mydb.db");

$db_handle->exec("CREATE TABLE IF NOT EXISTS testing (id INTEGER PRIMARY KEY AUTOINCREMENT);");

$db_handle->exec("ALTER TABLE testing RENAME TO test;");

$db_handle->exec("ALTER TABLE test ADD COLUMN name TEXT;");

$db_handle->exec("INSERT INTO test (name) VALUES ('Hallo!');");

$db_handle->exec("UPDATE test SET name='Hallo Welt!' WHERE id=1;");

$result = $db_handle->query("SELECT * FROM test;");
$rows = array();
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
	$rows[] = $row;
}
foreach ($rows as $row) {
	echo "ID: {$row['id']}, Name: {$row['name']} \n";
}

$db_handle->exec("DELETE FROM test WHERE id=1;");

$db_handle->exec("DROP TABLE test;");

$db_handle->close();

Verbindung

Die Verbindung zu einer Datenbank wird mittels Übergabe des Dateinamens erzeugt. Existiert die Datei nicht, wird sie erstellt.

$db_handle = new SQLite3("mydb.db");

Die Verbindung sollte nach Abschluss der Aufgabe wieder geschlossen werden.

$db_handle->close();

exec vs query

SQLite unterscheidet zwischen exec() und query(). Beide führen Anweisungen auf der Datenbank aus, unterscheiden sich aber im Rückgabewert.

  • exec() liefert einen boolschen Wert (Erfolg oder Fehler).
  • query() liefert ein Result-Set mit dem Ergebnis einer Abfrage (0 bis x rows).

Die Function exec() kann demnach für create, alter, drop, insert, update und delete verwendet werden.

Fehlerabfrage

Treten Fehler auf können diese mit zwei Functionen abgefragt werden.

  • lastErrorCode() liefert den Fehlercode des letzten aufgetretenen Fehlers.
  • lastErrorMsg() liefert die Textnachricht des letzten aufgetretenen Fehlers.
echo 'Error-Code: '.$db_handle->lastErrorCode();
echo 'Error-Message: '.$db_handle->lastErrorMsg();

Copyright © 2024

Datenschutz | Impressum