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
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
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项