php sqlite sqlite3

在网上搜索了老长时间,参照了别人的解决方法,自己在这里总结一下:

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数据库

posted @ 2012-09-07 08:35  新的凯斯  阅读(4389)  评论(0编辑  收藏  举报