加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PHP使用PDO连接SQLITE3

发布时间:2020-12-13 00:09:48 所属栏目:百科 来源:网络整理
导读:《PHP使用PDO连接SQLITE3》要点: 本文介绍了PHP使用PDO连接SQLITE3,希望对您有用。如果有疑问,可以联系我们。 相关主题:PHP开发/sqlite3 PHP可以通过直接的方法对sqlite数据库进行操作。不过提但是使用PDO进行连接。这里是一个封装示例,希望能帮到您。

《PHP使用PDO连接SQLITE3》要点:
本文介绍了PHP使用PDO连接SQLITE3,希望对您有用。如果有疑问,可以联系我们。

相关主题:PHP开发 / sqlite3

PHP可以通过直接的方法对sqlite数据库进行操作。不过提但是使用PDO进行连接。这里是一个封装示例,希望能帮到您。

注意:

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

PHP用PDO调用SQLITE示例:

$sqlitedb = new db_sqlite;
$conn = $sqlitedb->connect_sqlite('./db/sqlite3.db','');

$sqlitedb->exec_sqlite($conn,"insert into tt2 values(2,'http://www.52php.cn')");
$sqlitedb->commit_sqlite($conn);
$rs = $sqlitedb->query_sqlite($conn,'select * from tt2');
foreach($rs as $k=>$v)
{
       $v1 = $v['name'];
       #$v1 = mb_convert_encoding($v1,"gb2312","utf-8");
       #$v1 = mb_convert_encoding($v1,"utf-8","gb2312");
       echo $v1,'<br />';
}
$sqlitedb->close_sqlite($conn);

 

PDO连接SQLITE3的通用类:


/**
 * 此类只兼容sqlite3
 * @author hanxiaoyue
 */
class db_sqlite {
       //打开sqlite数据库
       function connect_sqlite($dbname,$module) {
              $conn = null;
              if(file_exists($dbname)) {
                     $dbPath = 'sqlite:'.$dbname;
                     try {
                            $conn = new PDO($dbPath);
                            $conn->beginTransaction();
                     } catch(PDOException $e) {
                            echo 'Exception is:'.$e->getMessage();
                     }
                     return $conn;
              } else {
                     exit('连接时出现错误!');
              }
       }
       //打开datafarm链接
       function connect_datafarm_sqlite($dbname) {
              $conn = null;
              if(file_exists($dbname)) {
                     $dbPath = 'sqlite:'.$dbname;
                     try {
                            $conn = new PDO($dbPath);
                            $conn->beginTransaction();
                     } catch(PDOException $e) {
                            echo 'Exception is:'.$e->getMessage();
                     }
                     return $conn;
              } else {
                     exit('启动事务时出现错误!');
              }
       }
       //查询操作
       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;
       }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读