php pdosqlite,PHP使用PDO连接SQLITE3

这是一个PHP类,专门用于操作SQLite3数据库,通过PDO进行连接。类中包含了连接数据库、执行查询、更新删除操作以及事务处理的方法。如果数据库文件不存在,则会跳转到指定URL。该类确保了对sqlite3的支持,并提供了错误处理机制。
摘要由CSDN通过智能技术生成

之前从网上看可以通过直接的方法对sqlite数据库进行操作。但好像只是支持sqlite2.对sqlite3不支持。于是又看了看原来要使用PDO进行连接。

讲自己写的一个封装的代码放出来。

需要注意的就是ROOT是项目的绝对路径。$module之类的参数根据实际情况需要。

DT_URL是失败后的一个跳转url。

因为sqlite在连接失败后发现自动创建一个空文件。所以在connect_sqlite方法中直接判断若此文件不存在则不进行库连接操作。

======================================================================================

<?php /*** 此类只兼容sqlite3* @author hanxiaoyue*/class db_sqlite {//打开sqlite数据库function connect_sqlite($dbname,$module) {$conn = null;if(file_exists(ROOT.'/db/'.$module.'/'.$dbname)) {$dbPath = 'sqlite:'.ROOT.'/db/'.$module.'/'.$dbname;try {$conn = new PDO($dbPath);$conn->beginTransaction();} catch(PDOException $e) {echo 'Exception is:'.$e->getMessage();}return $conn;} else {exit(header('location:'.DT_URL));}}//打开datafarm链接function connect_datafarm_sqlite($dbname) {$conn = null;if(file_exists(ROOT.'/data/datafarm/'.$dbname)) {$dbPath = 'sqlite:'.ROOT.'/data/datafarm/'.$dbname;try {$conn = new PDO($dbPath);$conn->beginTransaction();} catch(PDOException $e) {echo 'Exception is:'.$e->getMessage();}return $conn;} else {exit(header('location:'.DT_URL));}}//查询操作function query_sqlite($conn,$sql) {$result = array();try {$sth = $conn->prepare($sql);$sth->execute();//获取结果$result = $sth->fetchAll();} catch(PDOException $e) {echo 'Exception is:'.$e->getMessage();}return $result;}//查询总记录数function query_count($conn,$sql) {$result = 0;try {$sth = $conn->prepare($sql);$sth->execute();//获取结果$vec = $sth->fetchAll();$result = $vec[0]['c'];} catch(PDOException $e) {echo 'Exception is:'.$e->getMessage();}return $result;}//add,update,delete执行操作function exec_sqlite($conn,$sql) {$count = 0;try {$count = $conn->exec($sql);} catch(PDOException $e) {$conn->rollBack();echo 'Exception is:'.$e->getMessage();}return $count;}/*** 提交事务。针对执行exec_sqlite后*/function commit_sqlite($conn) {$conn->commit();}//关闭连接function close_sqlite($conn) {$conn=null;}}?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值