downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

설치/설정> <SQLite3
[edit] Last updated: Sat, 07 Jan 2012

view this page in

소개

Support for SQLite version 3 databases.



add a note add a note User Contributed Notes 소개
dzcowart at gmail dot com 05-May-2009 11:00
In Ubuntu the package php5-sqlite3 uses this method for accessing sqlite3 databases:
(from /usr/share/doc/php5-sqlite3/examples/example1.php)

<?php
/*
 * create a SQLite3 handle.
 *
 * Note: in-memory database are created by the magic keyword ":memory:"
 *
 */

$db = sqlite3_open(":memory:");
if (!
$db) die ("Could not create in-memory database..");

/*
 * create a simple test and insert some values..
 */

$ret = sqlite3_exec ($db, "CREATE TABLE test (id INTEGER, name TEXT, age INTEGER);");
if (!
$ret) die (sqlite3_error($db));

sqlite3_exec($db, "INSERT INTO test (id,name,age) VALUES (1,'michael',32)");
sqlite3_exec($db, "INSERT INTO test (id,name,age) VALUES (2,'bob',27)");
sqlite3_exec($db, "INSERT INTO test (id,name,age) VALUES (3,'martin',12)");

/*
 * Create a query
 */

$query = sqlite3_query($db, "SELECT * FROM test ORDER BY age DESC");
if (!
$query) die (sqlite3_error($db));

/*
 * sqlite3_fetch_array() returns an associative array
 * for each row in the result set. Key indexes are
 * the columns names.
 */

while ( ($row = sqlite3_fetch_array($query)))
{
       
printf("%-20s %u\n", $row['name'], $row['age']);
}

/*
 * do not forget to release all handles !
 */

sqlite3_query_close($query);
sqlite3_close ($db);
?>
pomax at nihongoresources dot com 24-Mar-2009 02:28
If you use PHP5, the currently advised approach to natively (ie, without using a third party library) interfacing with sqlite3 databases is through the use of a PDO object:

<?php
  $dbh
= new PDO('sqlite:yourdatabase.db');
?>

Any execution of functions and commands supported by sqlite3 can then be called through the PDO query and exec functions. For instance, a broad select would be achieved as follows:

<?php
 
foreach($dbh->query('SELECT * FROM table WHERE column = criterium') as $row)
  {
 
 foreach($row as $key=>$val)
   {
    // PDO has no built in fetch_assoc equivalent
    if(!is_numeric($key)) print "$key: $val\n";
   }
  }
?>

when done consulting or administrating a database that relies on PDO access, it is generally a good idea to either issue a

<?php $dbh = null; ?>

or

<?php unset($dbh); ?>

statement, as the PDO class does not come with a function for closing a connection, and so any PDO connection will sit idle until you explicitly dispose of it.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites