在网上搜索了老长时间,参照了别人的解决方法,自己在这里总结一下:
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数据库