Ich habe heute für ein kleines Projekt eine Datenbank benötigt und habe mich dann recht schnell für Sqlite entschieden.
Da ich damit allerdings noch nie gearbeitet habe hier ein paar Punkte zur Erinnerung:
Sqlite DB erstellen bzw öffnen
// bei PDO anfragen zumindestens den Connect immer in einen try catch Block setzen
// wenn DBs mit Benutzer und Passwort abgefragt werden, da bei einem Fehlgeschlagenen
// Versuch sonst alles inklusive User und PWs als Fehler ausgegeben werden
try{ $dbh = new PDO("sqlite:mydatabase.sdb"); } catch (PDOException $e) { echo $e->getMessage(); }
Sqlite Datentypen:
Die sind hier relative einfach gehalten, da Sqlite dynamic typing nutzt.
SQLite uses dynamic typing. Content can be stored as INTEGER, REAL, TEXT, BLOB, or as NULL.
Quelle: sqilte.org
wie erstelle ich ein Auto Increment Feld
Short answer: A column declared INTEGER PRIMARY KEY will autoincrement.
Quelle:
sqilte.org
ErrorMode setzen:
//direkt nach dem öffnen der DB /*** set the error reporting attribute ***/ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
simple Abfrage und Ausgabe
/*** The SQL SELECT statement ***/ $sql = "SELECT * FROM entries"; /*** fetch into an PDOStatement object ***/ $stmt = $dbh->query($sql); /*** echo number of columns ***/ foreach ($stmt as $row){ echo $row['uid'] . '<br>'; echo $row['header'] . '<br>'; echo $row['bodytext'] . '<br>'; }
Sonstige Quellen:
http://henryranch.net/software/ease-into-sqlite-3-with-php-and-pdo/
http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html und weil alle guten Dinge 3 sind sqlite.org