- Code: Select all
<?php
echo sqlite_libversion();;
?>
Gibt an, dass es nur eine 2.8.x Version in PHP5 drin ist.
<?php
echo sqlite_libversion();;
?>
<?php
/**
* Demonstation der Möglichkeiten von PEAR-DB
* sehe auch
* http://pear.php.net/manual/de/package.database.db.php
*/
require_once 'DB.php';
echo 'start<br>';
/**
* Der DSN-String bezeichnet die Datenbankverbindung.
* sehe dazu
* http://pear.php.net/manual/de/package.database.db.intro-dsn.php
*/
$dsn = "sqlite:////tmp/egon.db";
//für Windows z.B.
//$dsn = "sqlite:///c:/temp/egon.db";
/**
* Bei Mysql oder anderen serverbasierten Datenbanken muss die
* Datenbank vorher existieren, für SQLite ist das nicht notwendig,
* die Datei wird automatisch erstellt. (Schreibrechte auf das Verzeichns
* vorrausgesetzt.)
*/
$options = array(
'debug' => 2,
'portability' => DB_PORTABILITY_NONE,
);
/**
* Verbinden mit der Datenbank
*/
$db =& DB::connect($dsn, $options);
if (PEAR::isError($db)) {
die($db->getMessage());
}
/**
* Den fetchMode global festlegen.
* sehe dazu
* http://pear.php.net/manual/de/package.database.db.db-common.setfetchmode.php
*/
$db->setFetchMode(DB_FETCHMODE_ASSOC);
echo 'connected<br>';
/**
* Beispiel einer einfachen Datenbankabfrage, in diesem Fall ein create Table
*/
$res = $db->query('create table test (eins integer primary key, zwei varchar(50), drei varchar(50))');
// Always check that result is not an error
if (PEAR::isError($res)) {
die($res->getMessage());
}
echo 'created<br>';
/**
* Für Inserts und Updates gibt es ein speziellen Befehl
* (Mit einem einfachen query würde es natürlich auch gehen)
* seheh dazu
* http://pear.php.net/manual/de/package.database.db.db-common.autoprepare.php
*/
$table_name = 'test';
$table_fields = array('eins', 'zwei', 'drei');
$sth = $db->autoPrepare($table_name, $table_fields,
DB_AUTOQUERY_INSERT);
if (PEAR::isError($sth)) {
die($sth->getMessage());
}
echo 'prepared<br>';
/**
* Mysqls "AUTO INCREMENT" als auch Oracles "Create sequence" sind nicht portable,
* aber mit Sequenzen von Pear-DB klappt es mit jeder Datenbank
* sehe auch
* http://pear.php.net/manual/de/package.database.db.intro-sequences.php
*/
$id = $db->nextId('mySequence');
if (PEAR::isError($id)) {
die($id->getMessage());
}
echo 'sequence build<br>';
/**
* Ein mit prepare oder autoPrepare vorbereitetes Statement ausführen
* sehe dazu auch
* http://pear.php.net/manual/de/package.database.db.intro-execute.php
*/
$res =& $db->execute($sth,array($id,'foo2','bar2'));
// Always check that result is not an error
if (PEAR::isError($res)) {
die($res->getMessage());
}
echo 'inserted<br>';
/**
* Wer nur mal eben eine kleine Tabelle abfragen möchte, der
* braucht nicht Result-sets benutzen, sondern kann die
* Kurzbefehle getAll, getRow oder getOne benutzen.
* sehe auch
* http://pear.php.net/manual/de/package.database.db.db-common.getall.php
*/
$data =& $db->getAll('SELECT * FROM test');
if (PEAR::isError($data)) {
die($data->getMessage());
}
echo "<pre>";
print_r($data);
echo "</pre>\n";
echo 'end<br>';
$db->disconnect();
?>
$sql = "Befehl";
mysql_query($sql)
$db = mysql_connect('localhost','heinz','miez');
if($db === false) ...
if(!mysql_select_db('mydb'))
...
require_once 'DB.php';
$db = DB::connect($dsn);
if(PEAR::isError($db))
...
$result = mysql_query($query) ;
if($result === false)
...
$result = $db->query($query);
if(PEAR::isError($result))
...
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
...
while ($line = $result->fetchRow(DB_FETCHMODE_ASSOC))
...
Users browsing this forum: No registered users and 7 guests