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


Posted in PHP onMay 27, 2016

本文实例讲述了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 相关文章推荐
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
Nov 07 PHP
php sybase_fetch_array使用方法
Apr 15 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
PHP实现懒加载的方法
Mar 07 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
PHP编写RESTful接口
Feb 23 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
thinkphp框架使用JWTtoken的方法详解
Oct 10 PHP
PHP连接MySQL数据库操作代码实例解析
Jul 11 PHP
php使用number_format函数截取小数的方法分析
May 27 #PHP
php中关于长度计算容易混淆的问题分析
May 27 #PHP
Centos6.5和Centos7 php环境搭建方法
May 27 #PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 #PHP
PHP实现数据分页显示的简单实例
May 26 #PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 #PHP
PHP实现冒泡排序的简单实例
May 26 #PHP
You might like
非常好的php目录导航文件代码
2006/10/09 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
jquery animate 动画效果使用说明
2009/11/04 Javascript
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
JS拉起或下载app的实现代码
2017/02/22 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
机器学习python实战之手写数字识别
2017/11/01 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
python同时替换多个字符串方法示例
2019/09/17 Python
Django使用rest_framework写出API
2020/05/21 Python
python设置中文界面实例方法
2020/10/27 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
工程业务员工作职责
2013/12/07 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
公司酒会致辞
2015/07/30 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python