PHP+sqlite數(shù)據庫操作示例(創(chuàng)建/打開/插入/檢索)

字號:


    本文實例講述了PHP+sqlite數(shù)據庫操作的方法。分享給大家供大家參考,具體如下:
    SQLite是一款輕型的數(shù)據庫,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非 常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相 結合,比如Tcl、PHP、Java等,還有ODBC接口,同樣比起MySQL、PostgreSQL這兩款開源世界著名的數(shù)據庫管理系統(tǒng)來講,它的處理 速度比他們都快。
    PHP 5開始不再默認支持Mysql,而是默認支持SQLite,可見它的影響力多么大,所以如果你想做SQLite的PHP開發(fā),建議你使用PHP 5.0.0以上版本。
    下面是使用sqlite的一個示例
    首先可以在目錄下新建一個upload.db的空文件
    <?php
    define("LN", __LINE__);//行號
    define("FL", __FILE__);//當前文件
    define("DEBUG", 0);//調試開關
    $db_name = "upload.db";
    //創(chuàng)建數(shù)據庫文件,文件內容為空
    if (!file_exists($db_name)) {
     if (!($fp = fopen($db_name, "w+"))) {
     exit(error_code(-1, LN));
     }
     fclose($fp);
    }
    //打開數(shù)據庫文件
    if (!($db = sqlite_open($db_name))) {
     exit(error_code(-2, LN));
    }
    //產生數(shù)據表結構
    if (!sqlite_query($db, "DROP TABLE uploads")) {
     exit(error_code(-3, LN));
    }
    if (!sqlite_query($db, "CREATE TABLE uploads (id integer primary key, file_name varchar(200) UNIQUE, make_time integer)")) {
     exit(error_code(-3, LN));
    }
    //插入一條數(shù)據
    if (!sqlite_query($db, " INSERT INTO uploads (file_name, make_time) VALUES ('upload/111.data','".time()."') ")) {
     exit(error_code(-4, LN));
    }
    //把數(shù)據檢索出來
    if (!($result = sqlite_query($db, "SELECT * FROM uploads"))) {
     exit(error_code(-5, LN));
    }
    //獲取檢索數(shù)據并顯示
    while ($array = sqlite_fetch_array($result)) {
     echo "ID: ". $array[file_name] ."<br>: ". $array[make_time] ;
    }
    /* 錯誤信息代碼函數(shù) */
    function error_code($code, $line_num, $debug=DEBUG)
    {
     if ($code<-6 || $code>-1) {
     return false;
     }
     switch($code) {
     case -1: $errmsg = "Create database file error.";
      break;
     case -2: $errmsg = "Open sqlite database file failed.";
      break;
     case -3: $errmsg = "Create table failed, table already exist.";
      break;
     case -4: $errmsg = "Insert data failed.";
      break;
     case -5: $errmsg = "Query database data failed.";
      break;
     case -6: $errmsg = "Fetch data failed.";
      break;
     case -7: $errmsg = "";
      break;
     default: $errmsg = "Unknown error.";
     }
     $m = "<b>[ Error ]</b><br>File: ". basename(FL) ." <br>Line: ". LN ."<br>Mesg: ". $errmsg ."";
     if (!$debug) {
     ($m = $errmsg);
     }
     return $m;
    }
    ?>
    希望本文所述對大家PHP程序設計有所幫助。