文章錄入:7747.Net 責(zé)任編輯:7747.Net 63
【字體: 】
本教程將向你介紹SQLite API所支持的重要方法,提供一個能夠用在你開發(fā)中的簡單腳本模板,從而告訴你如何使用PHP與SQLite數(shù)據(jù)庫進(jìn)行交互操作。本文假設(shè)你已經(jīng)安裝好了 Apache和PHP。
你的系統(tǒng)上并不是一定非要安裝可交互的SQLite程序;但是為了能夠簡化創(chuàng)建本教程所需要的一系列初始表格,你應(yīng)該
下載和安裝這個程序。然后,為你的SQL查詢創(chuàng)建一個示例表格,方法是創(chuàng)建一個空白的文本文件,將該文件名作為下列命令(列表A)的參數(shù)在交互命令提示符下執(zhí)行二進(jìn)制程序:
sqlite> CREATE TABLE users (id INTEGER PRIMARY KEY, username TEXT, country TEXT);
sqlite> INSERT INTO users VALUES (1, 'john', 'IN');
sqlite> INSERT INTO users VALUES (2, 'joe', 'UK');
sqlite> INSERT INTO users VALUES (3, 'diana', 'US');
一旦表格創(chuàng)建好了,下面就是使用PHP的SQLite方法建立一個腳本模板。
<?php
// set access parameters
$db = "users.db";
// open database file
// make sure script has read/write permissions!
$conn = sqlite_open($db) or die ("ERROR: Cannot open database");
// create and execute INSERT query
$sql = "INSERT INTO users (id, username, country) VALUES ('5', 'pierre', 'FR')";
sqlite_query($conn, $sql) or die("Error in query execution: " . sqlite_error_string(sqlite_last_error($conn)));
// create and execute SELECT query
$sql = "SELECT username, country FROM users";
$result = sqlite_query($conn, $sql) or die("Error in query execution: " . sqlite_error_string(sqlite_last_error($conn)));
// check for returned rows
// print if available
if (sqlite_num_rows($result) > 0) {
while($row = sqlite_fetch_array($result)) {
echo $row[0] . " (" . $row[1] . ") ";
}
}
// close database file
sqlite_close($conn);
?>
在使用PHP的SQLite擴展執(zhí)行SQL查詢的時候,要按照下列四個簡單步驟進(jìn)行:
1.調(diào)用sqlite_open()函數(shù)來初始化數(shù)據(jù)庫句柄。數(shù)據(jù)庫的路徑和文件名(要記住,SQLite是基于文件的,而不是像MySQL那樣基于服務(wù)器)被作為自變量傳遞給函數(shù)。
2.創(chuàng)建SQL查詢字符串,用sqlite_query()函數(shù)執(zhí)行它。這些方法的結(jié)果對象會依據(jù)查詢的類型以及它是否成功而有所不同。成功的 SELECT查詢會返回一個結(jié)果對象;成功的INSERT/UPDATE/DELETE查詢會返回一個資源標(biāo)識符;不成功的查詢會返回“偽”。 sqlite_error_string()和sqlite_last_error()方法能夠被用來捕捉錯誤并顯示相應(yīng)的錯誤信息。
3.對于SELECT查詢,結(jié)果對象可以被進(jìn)一步處理,以便從中提取數(shù)據(jù)。當(dāng)sqlite_fetch_array()函數(shù)用在循環(huán)里的時候會把每條記錄作為PHP的數(shù)組取回。你可以通過調(diào)用數(shù)組合適的鍵來訪問每條記錄的各個字段。
4.調(diào)用sqlite_close()函數(shù)可以結(jié)束會話。
PHP 5.x的一個創(chuàng)新之舉是加入了SQLite數(shù)據(jù)庫引擎。SQLite是一個基于文件的、功能齊全的可移植數(shù)據(jù)庫引擎,它能夠被用來進(jìn)行絕大多數(shù)SQL操作而不會加重客戶端-服務(wù)器通信的負(fù)載。PHP
5.x里的這個SQLite API在默認(rèn)情況下會被激活,這也意味著你可以立即就使用SQLite。
希望這個腳本模塊能夠在你下一次坐下來用PHP編寫SQLite連接/交互例程的時候為你節(jié)省一些時間。
編程愉快!
您對本文章有什么意見或著疑問嗎?
請到論壇討論您的關(guān)注和建議是我們前行的參考和動力