luoson1 发表于 2015-8-28 11:52:06

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数据库
页: [1]
查看完整版本: php sqlite sqlite3