77;20202;0ccatbody
†
††
†
†
††
phpize make make install ††
†
pear install SQLite †<?php if (!extension_loaded("sqlite")) { dl("sqlite.so"); } debug_zval_dump(sqlite_libversion()); debug_zval_dump(sqlite_libencoding()); $s = sqlite_open("weztest.sqlite", 0666, $err); debug_zval_dump($err); debug_zval_dump($s); $r = sqlite_query("create table foo (a INTEGER PRIMARY KEY, b INTEGER )", $s); debug_zval_dump(sqlite_last_error($s)); debug_zval_dump(sqlite_error_string(sqlite_last_error($s))); $r = sqlite_query("select *, php('md5', sql) as o from sqlite_master", $s); debug_zval_dump($r); debug_zval_dump(sqlite_num_rows($r)); debug_zval_dump(sqlite_num_fields($r)); for ($j = 0; $j < sqlite_num_fields($r); $j++) { echo "Field $j is " . sqlite_field_name($r, $j) . "\n"; } while ($row = sqlite_fetch_array($r, SQLITE_ASSOC)) { print_r($row); } sqlite_close($s); ?> php -Cq sqlite.php string(5) "2.8.3" refcount(1) string(7) "iso8859" refcount(1) NULL refcount(2) resource(4) of type (sqlite database) refcount(2) long(0) refcount(1) string(12) "not an error" refcount(1) resource(6) of type (sqlite result) refcount(2) long(1) refcount(1) long(6) refcount(1) Field 0 is type Field 1 is name Field 2 is tbl_name Field 3 is rootpage Field 4 is sql Field 5 is o Array ( [type] => table [name] => foo [tbl_name] => foo [rootpage] => 3 [sql] => create table foo (a INTEGER PRIMARY KEY, b INTEGER ) [o] => 2f5a980ca57765ddef1a9434c15d755f )
** This file contains an SQLite 2.1 database ** Ktable create table foo (a INTEGER PRIMARY KEY, b INTEGER ) †
pear upgrade DB †
define( "DB_FILE", dirname( __FILE__)."/contact.sqlite"); if ( extension_loaded( 'sqlite') != TRUE) { if ( dl( 'sqlite.so') != true) { exit; } } class myDB extends DB { function connect() { $dsn = array ( 'phptype'=>"sqlite", 'database'=>DB_FILE, 'mode'=> 0666 ); return parent::connect( $dsn); } } †
<?php require_once "mydb.inc"; if ( file_exists( DB_FILE) != TRUE || filesize( DB_FILE) == 0) { $db = myDB::connect(); if (DB::isError($db) != TRUE) { $res =$db->query( "CREATE TABLE contact_info ( c_name varchar(100), c_mail varchar(50), c_text varchar(255));"); $db->disconnect(); if (DB::isError($db)) { unlink( DB_FILE); exit; } } }
php -Cq create_db.php chmod 666 contact.sqlite †
function sendForm( $values) { $db = myDB::connect(); if (DB::isError($db) != TRUE) { $c_name = $db->quote( $values[ "name"]); $c_mail = $db->quote( $values[ "mail"]); $c_text = $db->quote( $values[ "text"]); $res = $db->query( "INSERT INTO contact_info VALUES($c_name,$c_mail,$c_text);"); if (DB::isError($res)) { exit; } $db->disconnect(); } } †
<?php require_once "mydb.php"; $db = myDB::connect(); if (DB::isError($db)) { exit; } $res = $db->query( "SELECT c_name, c_mail, c_text FROM contact_info"); if (DB::isError($db)) { exit; } print <<<EOD <table border="1"> <thead> </thead> <tbody> EOD; while ( $row = $res->fetchRow( DB_FETCHMODE_ASSOC)) { foreach ( array( "c_name", "c_mail", "c_text") as $name) { $$name = nl2br( htmlspecialchars( $row[ $name])); } print " <tr><td>$c_name</td><td>$c_mail</td><td>$c_text</td></tr>\n"; } print <<<EOD </tbody> </table> EOD; $db->disconnect(); ?>
|