php中pdo使用sqlite3连接的配置例子

php5.3_sqlite3_example

刚刚开始使用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()

<?php
//$dsn = 'sqlite:sql.db';
try {
    //$dbh = new PDO($dsn, $user, $password);  //建立连接
    // $dbh = new PDO('sqlite:yourdatabase.db');
    $dbh = new PDO('sqlite:myweishanli.com');
    echo 'Create Db ok';
    //建表
    $dbh->exec("CREATE TABLE myweishanli(id integer,name varchar(255))");
    echo 'Create Table myweishanli ok<BR>';
    $dbh->exec("INSERT INTO myweishanli values(1,'myweishanli.com')");
    echo 'Insert Data ok<BR>';
    $dbh->beginTransaction();
    $sth = $dbh->prepare('SELECT * FROM myweishanli');
    $sth->execute();
    //获取结果
    $result = $sth->fetchAll();
    print_r($result);
    $dsn = null;
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    $dsn = null;
}
// 释放资源
unset($dbh);
// 释放资源方法2
//$dbh = null;

验证:查看数据库:
在文件头显示:
SQLite format 3***

其他例子:
更多例子:
http://www.if-not-true-then-false.com/2012/php-pdo-sqlite3-example/
http://www.php.net/manual/zh/intro.sqlite3.php
when done consulting or administrating a database that relies on PDO access, it is generally a good idea to either issue a

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值