您的位置:首页 > 编程语言 > PHP开发

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

2016-06-30 10:45 543 查看
http://cn.php.net/manual/zh/book_sqlite3.php

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

******sqlite3 demo ***

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

******

验证:查看数据库:

在文件头显示:

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

<?php $dbh = null; ?>

or

<?php unset($dbh); ?>
http://cn.php.net/manual/zh/ref.pdo-sqlite.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php