Sqlite3 und PDO


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