php使用pdo连接sqlite3的配置示例

刚刚开始使用php+sqlite 的时候,一直以为自己使用的是sqlite3 ,其实不是,php从php5 >=5.3.0 的时候才开始默认支持sqlite3

可参照官方文档

默认的方法接口:

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()

sqlite3示例:

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

验证:查看数据库:

在文件头显示:

SQLite format 3***

更多说明可参考官网:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/483f56b897cbcfed61febc11ca0808f4.html