本文實例講述了php使用pdo連接sqlite3的配置方法。分享給大家供大家參考,具體如下:
剛剛開始使用php+sqlite 的時候,一直以為自己使用的是sqlite3 ,其實不是,php從php5 >=5.3.0 的時候才開始默認支持sqlite3
可參照官方文檔http://www.php.net/manual/zh/sqlite3.open.php
默認的方法接口:
public void SQLite3::open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )
利用PHP操作數據庫時發現PHP默認只支持到Sqlite2,不支持最新版的Sqlite3。如果想支持Sqlite3就要使用PDO。要想使用PDO,需要在php.ini裡面載入php_pdo.dll和php_pdo_sqlite.dll兩個模塊。如下:
extension=php_pdo.dll extension=php_pdo_sqlite.dll
如果沒有使用pdo ,即使你打開了上面的參數,其實還是使用sqlite2 的,不信你訪問看一下生成的數據庫在文件的開頭是不是提示:
** This file contains an SQLite 2.1 database **
當php環境沒有開啟上面支持的配置時將報如下錯誤:
Fatal error: Call to undefined function sqlite_open()
sqlite3示例:
<html> <?php //$dsn = 'sqlite:sql.db'; try { //$dbh = new PDO($dsn, $user, $password); //建立連接 // $dbh = new PDO('sqlite:yourdatabase.db'); $dbh = new PDO('sqlite:itlife365.com'); echo 'Create Db ok' ; //建表 $dbh->exec("CREATE TABLE itlife365(id integer,name varchar(255))"); echo 'Create Table itlife365 ok<BR>'; $dbh->exec("INSERT INTO itlife365 values(1,'itlife365.com')"); echo 'Insert Data ok<BR>'; $dbh->beginTransaction(); $sth = $dbh->prepare('SELECT * FROM itlife365'); $sth->execute(); //獲取結果 $result = $sth->fetchAll(); print_r($result); $dsn=null; } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); $dsn = null; } ?> </html> <?php $dbh = null;//或使用unset($dbh); ?>
驗證:查看數據庫:
在文件頭顯示:
SQLite format 3***
更多說明可參考官網:http://cn.php.net/manual/zh/ref.pdo-sqlite.php
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作數據庫技巧總結》、《php+Oracle數據庫程序設計技巧總結》、《PHP+MongoDB數據庫操作技巧大全》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。