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

本文实例讲述了php使用pdo连接sqlite3的配置方法。分享给大家供大家参考,具体如下:

刚刚开始使用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示例:

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

更多说明可参考官网:http://cn.php.net/manual/zh/ref.pdo-sqlite.php

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

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP SQLite类

    复制代码 代码如下: <? /** * SQLite类 * 2009-5-6 * 连万春 * */ class SQLite {     // 当前SQL指令     public $_mQueryStr = '';     // 当前结果     public $_mResult = null;     // SQLite连接句柄     protected $_mSqlite;     // 警告信息     protected $_mErrorInfo;     /**      * 数据

  • thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)

    本文实例讲述了thinkPHP连接sqlite3数据库的简单实现方法.分享给大家供大家参考,具体如下: 首先检查Thinkphp目录下\Lib\Driver\Db目录里有没有DbPdo.class.php 这个文件. 如果没有就去这里下吧:http://www.thinkphp.cn/extend/205.html 然后再确认打开了PHP对sqlite的扩展支持,extension=php_sqlite.dll 连接sqlite3数据库: 在config.php 文件中添加如下配置: 'DB_T

  • 分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html

    下面给大家分享了一段php代码,讲解将360浏览器导出的favdb的sqlite数据库文件转换为html,下面代码简单易懂,感兴趣的朋友看一下吧. php代码如下所示: <?php $book_mark_name = 'book_mark.html'; $content = file_get_contents('tb_fav.json'); var_dump($content); $content_list = json_decode($content,'utf-8'); $content_li

  • php基于SQLite实现的分页功能示例

    本文实例讲述了php基于SQLite实现的分页功能.分享给大家供大家参考,具体如下: 这里操作数据库文件使用的是前面文章<PHP基于PDO实现的SQLite操作类[包含增删改查及事务等操作]>中的SQLite数据库操作类.废话不说,直接上代码: <meta charset='utf-8'> <?php class SqlitePage{ public function __construct() { $this->table_name=''; $this->tj=

  • PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】

    本文实例讲述了PHP基于PDO实现的SQLite操作类.分享给大家供大家参考,具体如下: 直接代码: 注意:一定要写好数据库保存路径 <?php // sqlite分页类 class SqliteDB{ public function __construct(){ // 初始化数据库,并且连接数据库 数据库配置 $this->db = new PDO('sqlite:'.dirname(__FILE__).'\log.db'); $this->table_name=$tab; $this

  • php读取sqlite数据库入门实例代码

    SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了. 它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl.PHP.Java.C++..Net等,还有ODBC接口,同样比起 Mysql.PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快. 单

  • PHP实现的sqlite数据库连接类

    本文实例讲述了PHP实现的sqlite数据库连接类.分享给大家供大家参考.具体实现方法如下: 该sqlite数据库连接类就是利用了php与sqlite进行连接操作,代码如下: 复制代码 代码如下: */ lass db_class { var $conn=null; var $querynum = 0; /**  * 数据库连接,返回数据库连接标识符  *   * @param string $ 数据库服务器主机  * @param string $ 数据库服务器帐号  * @param str

  • PHP+sqlite数据库操作示例(创建/打开/插入/检索)

    本文实例讲述了PHP+sqlite数据库操作的方法.分享给大家供大家参考,具体如下: SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非 常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相 结合,比如Tcl.PHP.Java等,还有ODBC接口,同样比起MySQL.PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理 速度比他们都

  • 小文件php+SQLite存储方案

    我们草根站长购买的虚拟主机往往都有文件数量限制,大量小文件占用大量资源,落伍精华区也有兄弟推荐豆瓣的解决方法,但是要有主机权限.只能另装思路,采用php+SQLite解决问题,经过我测试,切实可行,现在推荐给大家. 现在公开代码: 创建数据库文件:php1.php 复制代码 代码如下: $db = new SQLite3('mysqlitedb.db'); //获取文件2进制流 $filename = "http://www.jb51.net/logo.gif"; $handle =

  • php SQLite学习笔记与常见问题分析第1/2页

    直到学会! 学之前找资料 SQLite的sql ATTACH DATABASE BEGIN TRANSACTION comment COMMIT TRANSACTION COPY CREATE INDEX CREATE TABLE CREATE TRIGGER CREATE VIEW DELETE DETACH DATABASE DROP INDEX DROP TABLE DROP TRIGGER DROP VIEW END TRANSACTION EXPLAIN expression INSE

  • PHP实现的简单操作SQLite数据库类与用法示例

    本文实例讲述了PHP实现的简单操作SQLite数据库类与用法.分享给大家供大家参考,具体如下: SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl.PHP.Java等,还有ODBC接口,同样比起MySQL.PostgreSQL这两款开源世界著名

随机推荐