在網上搜索了老長時間,參照了別人的解決方法,自己在這里總結一下:
php對sqlite的支持有點像是對asp+access的地位的挑戰;
Mysql的安裝與配置對於一些站長來說是有一定的困難的,而asp+access的模式更適合應用和管理,這讓php在與asp的競爭上不占優勢。
php5.3版本以前只支持到sqlite2,如果要支持sqlite3,兩種方法:
1)升級php版本;
2)PDO解決連接sqlite3;
PDO擴展為PHP訪問數據庫定義了一個輕量級的、一致性的接口,它提供了一個數據訪問抽象層,這樣,無論你使用什么數據庫,你都可以通過一致的函數執行查詢和獲取數據。注意,你並不能使用PDO擴展本身執行任何數據庫操作,你必須使用一個database-specific
PDO driver(針對特定數據庫的PDO驅動)訪問數據庫服務器。
PDO下載地址:http://pecl.php.net/package/pdo
PDO_Sqlite 函數及語法:http://cn.php.net/manual/en/ref.pdo-sqlite.php
下載以后並行安裝就可以了,PHP5.1已經內置了PDO的相關組件,我們要做的就是打開PHP.ini把PDO和PDO_sqlite啟用了
extension=php_pdo.dll && extension=php_pdo_sqlite.dll
然后自己寫一個簡單的php頁面測試一下
1 <?php 2 echo "creating a databse \n"; 3 try { 4 $dbh=new PDO('sqlite:voting.db'); 5 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 6 $dbh->exec(' 7 CREATE TABLE tally( 8 QID varchar(32) NOT NULL, 9 AID integer NOT NULL, 10 votes integer NOT NULL, 11 PRIMARY KEY(QID,AID) 12 )'); 13 14 15 } catch (Exception $e) { 16 echo "error!!:$e"; 17 exit; 18 19 } 20 echo "db created successfully!"; 21 ?>
成功!
如果你的是php5.3以上的,在php.ini中進行配置:
extension=php_sqlite3.dll
php頁面測試:
<?php $db=new SQLite3('mydb.db'); $result=$db->query('select * from user'); $row=$result->fetchArray(SQLITE3_NUM); print_r($row); ?>
成功顯示數據!
對於sqlite3的使用手冊:
http://cn.php.net/manual/en/book.sqlite3.php
參考:http://www.4wei.cn/archives/228 php不能連接sqlite3的解決辦法
http://my.oschina.net/dlpinghailinfeng/blog/62923 php下使用PDO創建sqlite3數據庫