溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用PHP怎么實現(xiàn)一個SQLite數(shù)據(jù)庫操作類

發(fā)布時間:2021-04-15 15:56:45 來源:億速云 閱讀:259 作者:Leah 欄目:開發(fā)技術(shù)

使用PHP怎么實現(xiàn)一個SQLite數(shù)據(jù)庫操作類?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

SQLite是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計目標是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如Tcl、PHP、Java等,還有ODBC接口,同樣比起MySQL、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。

這里為大家提供一個簡潔的PHP操作SQLite類:

<?php
/***
//應(yīng)用舉例
require_once('cls_sqlite.php');
//創(chuàng)建實例
$DB=new SQLite('blog.db'); //這個數(shù)據(jù)庫文件名字任意
//創(chuàng)建數(shù)據(jù)庫表。
$DB->query("create table test(id integer primary key,title varchar(50))");
//接下來添加數(shù)據(jù)
$DB->query("insert into test(title) values('泡菜')");
$DB->query("insert into test(title) values('藍雨')");
$DB->query("insert into test(title) values('Ajan')");
$DB->query("insert into test(title) values('傲雪藍天')");
//讀取數(shù)據(jù)
print_r($DB->getlist('select * from test order by id desc'));
//更新數(shù)據(jù)
$DB->query('update test set title = "三大" where id = 9');
***/
class SQLite
{
 function __construct($file)
 {
  try
  {
   $this->connection=new PDO('sqlite:'.$file);
  }
  catch(PDOException $e)
  {
   try
   {
    $this->connection=new PDO('sqlite2:'.$file);
   }
   catch(PDOException $e)
   {
    exit('error!');
   }
  }
 }
 function __destruct()
 {
  $this->connection=null;
 }
 function query($sql) //直接運行SQL,可用于更新、刪除數(shù)據(jù)
 {
  return $this->connection->query($sql);
 }
 function getlist($sql) //取得記錄列表
 {
  $recordlist=array();
  foreach($this->query($sql) as $rstmp)
  {
   $recordlist[]=$rstmp;
  }
  return $recordlist;
 }
 function Execute($sql)
 {
  return $this->query($sql)->fetch();
 }
 function RecordArray($sql)
 {
  return $this->query($sql)->fetchAll();
 }
 function RecordCount($sql)
 {
  return count($this->RecordArray($sql));
 }
 function RecordLastID()
 {
  return $this->connection->lastInsertId();
 }
}
?>

相關(guān) PHP 配置說明:

1. 先測試 PHP 能否連接 sqlite 數(shù)據(jù)庫:

建立一個php文件

<?php
$conn = sqlite_open('test.db');
?>

測試這個文件能否正常運行。

如果沒有能正常加載sqlite模塊,就可能出現(xiàn)這樣的錯誤:

Fatal error: Call to undefined function sqlite_open() in C:\Apache\Apache2\htdocs\test.php on line 2

解決辦法如下:

2. 打開 php.ini 文件,將以下三行前面的分號刪除:

;extension=php_sqlite.dll
;extension=php_pdo.dll
;extension=php_pdo_sqlite.dll

看完上述內(nèi)容,你們掌握使用PHP怎么實現(xiàn)一個SQLite數(shù)據(jù)庫操作類的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI