txtsql的最大優點之一是文檔很詳細,可惜,我在網上找了半天也找不到中文版的文檔,所以只好自己動手,利人利已吧,不過自己的E文水平自己是很清楚的,希望大家看了不會笑掉大牙才好,還希望大家多多指教。
歡迎使用txtSQL 2.2快速安裝手冊。這頁將指引你如何開始安裝txtSQL。
1-解壓縮下載包
2-配置類文件
2.1-目錄結構
3-包含類文件
3.1-類實例
3.2-連接到txtSQL
3.3- 更改密碼
3.4-選擇一個數據庫
4-執行SQL指令
4.1-指令的列表
4.2-顯示結果
5-從斷開txtSQL連接
6-差錯處理
7-已發布的txtSQL函數
1、解壓縮下載包
當你打開.zip文件時,你將注意到有兩個文件: txtSQL.class.php和txtSQL.core.php。提取兩個文件到相同的目錄。新建一個任意名字的新目錄; 通常,它名為data。這將是包含數據庫的目錄。它能可以放在服務器上的任何地方,但是它通常位于以上兩個文件的同一目錄下。確保這個目錄權限是0755或者更高。現在返回到.zip文件找到/'txtsql.MYI/'提取它到我們剛剛建立的數據庫目錄。(譯者注:其實不用這么麻煩,.zip文件已經組織好了,全部解壓到服務器上的任意目錄,并設置權限就行了)
2、配置類文件
使用txtSQL的第一步,配置類文件,這樣它才能被包含到可能要求它的php文件中。首先,你必須在文本編輯器中打開文件txtSQL.class.php 打開文件時將注意到一個版權聲明,其后是一些其它素材。隨后有這樣一行(缺省是第30行):
30. include_once(/'./txtSQL.core.php/');
這一行代碼使它包括txtSQL的的核心函數和類。方便php找到核心文件,你必須編輯單引號內的內容,讓它指向txtSQL.core.php文件。(譯者注:這個基本上也不用設置,源文件已經配置好了!只有當你的文件不在同一目錄時,才需要這么做)
2.1、目錄結構
一個有效的數據庫目錄結構應該是這樣的:
+ datafolder (所有數據庫的保存目錄,比如上面新建的/'data/' )
+ database_name
+ table.FRM (列定義)
+ table.MYD (行數據)
+ txtsql
+ txtsql.MYI (包含在壓縮包)
基本上,一個數據庫是主要的數據庫目錄下的一子目錄。
同時在數據庫目錄內部是txtsql數據庫,壓縮包中的/'txtsql.MYI/'I。
在所有的數據庫內部,一個數據表由兩個文件組成; table.FRM,和table.MYD。.FRM是列定義,另一個是數據行。
3、包含類文件
現在我們已經配置完txtSQL2.2,我們能開始使用它。首先使用文本編輯器創造一個空白的php文件。保存為example.php。
為了簡單的說明,假設你把它保存在和/'txtSQL.class.php/'同樣的目錄下。
現在我們必須包括php類,在/'example.php中輸入:
<?php
include(/'./txtSQL.class.php/');
?>
3.1類實例
在面向對象編程( OOP)中,當創建類時,一種特殊變量類型--個對象是自動地創造。
我們需要創造指向txtSQL類的一個對象,那么把這些添加到文件:
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
?>
在單引號中的文字,是包含所有數據庫的數據目錄的路徑。這個目錄下必須包含一個txtsql(大小寫敏感 )的目錄,目錄下應該有一個/'txtsql.MYI/'的文件。這個文件包含操作數據庫所有用戶與和密碼。
這個目錄與文件已經在txtSQL壓縮包中。一旦路徑是正確的,你可以繼續向前到下一段。
3.2連接數據庫
現在我們可以用正確的用戶名和密碼來連接數據庫了。
默認的用戶名是root/',默認的密碼是空。(強烈建議在下面的步驟中修改)
用下面的代碼來連接數據庫:
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // 默認時是 sql->connect(/'root/', /'/');
?>
txtSQl這時會認可你是它的用戶,準許你訪問數據庫和表。
注意:參考手冊中有可用的命令清單。
3.3、更改密碼
如果你想更改管理員密碼(root),可以用grant_permissions() 函數,grant_permissions() 函數這樣調用:
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // default is sql->connect(/'root/', /'/');
sql->grant_permissions(action, user, pass [, newpass]);
?>
參數 action(動作)可以是 add(添加), drop(刪除), or edit(編輯). newpass(新密碼)只有在你編輯(edit)用戶時才可用。user(用戶)是用你要操作的用戶名, pass是它的密碼。
例如, 如果你想改變用戶/'root/'的密碼為 /'bar/' (假設它還是空的), 我們可以這么做:
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // default is sql->connect(/'root/', /'/');
sql->grant_permissions(/'edit/', /'root/', /'/', /'bar/');
?>
或者
新建一個用戶 /'foo/' 密碼為/'bar/'
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // default is sql->connect(/'root/', /'/');
sql->grant_permissions(/'add/', /'foo/', /'bar/');
?>
或者
刪除一個用戶/'foo/' 密碼為 /'bar/'
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // default is sql->connect(/'root/', /'/');
sql->grant_permissions(/'drop/', /'foo/', /'bar/');
?>
注意:你不用刪除用戶root/',如果沒有正確的密碼你也不能訪問任何數據。
3.4、選擇數據庫
像mySQL一樣, 在操作一個數據表之前,你必須先說明它在哪一個數據庫. 這個步驟不是必須的,因為你可以在操作時指定使用哪一個數據庫.
我們使用下面的語句來選擇一個數據庫:
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // default is sql->connect(/'root/', /'/');
sql->selectdb(/'test/'); //選擇了數據庫 /'test/'
?>
4、執行指令
通常我們只要使用sql對象的各種方法下執行指令。
例如:
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // default is sql->connect(/'root/', /'/');
sql->selectdb(/'test/'); // 選擇了數據庫 /'test/'
results = sql->select(array(
/'db/' => /'test/', //這行不是必須的,因為我們已經選定了數據庫
/'table/' => /'test/',
/'where/' => array(/'id = 10/', /'and/', /'name =~ John Smith/'),
/'limit/' => array(0, 100)
));
?>
4.1、指令列表
txtSQL2.2支持的指令如下:
4.1- List of commands
showdbs()
createdb()
dropdb()
renamedb()
select()
insert()
update()
delete()
showtables()
createtable()
droptable()
altertable()
describe()
在執行指令之前,你必須連接數據庫,不然會產生錯誤。手冊中會用詳細的指令說明和實例(隨后翻譯)。
4.2、顯示結果
results變量現在包含了表test/'中選中行的信息。
你可以用一個循環來實現顯示results中的所有結果。
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // default is sql->connect(/'root/', /'/');
sql->selectdb(/'test/'); // database /'test/' is now selected
results=
sql->execute(/'select/',
array(/'select/' => array(/'id/', /'name/'),
/'db/' => /'test/',
/'table/' => /'test/',
/'where/' => array(/'id = 10/', /'and/', /'name =~ John Smith/'),
/'limit/' => array(0, 100))));
foreach ( results as key => row )
{
print /"ID: row[id], NAME: row[name]<BR>/n/";
}
?>
5-斷開txtSQL
用完之后斷開數據庫是一個好習慣。斷開用 disconnect()函數。
<?php
include(/'./txtSQL.class.php/');
sql = new txtSQL(/'./data/');
sql->connect(username, password); // default is sql->connect(/'root/', /'/');
sql->selectdb(/'test/'); // database /'test/' is now selected
results=
sql->execute(/'select/',
array(/'select/' => array(/'id/', /'name/'),
/'db/' => /'test/',
/'table/' => /'test/',
/'where/' => array(/'id = 10/', /'and/', /'name =~ John Smith/'),
/'limit/' => array(0, 100))));
foreach ( results as key => row )
{
print /"ID: row[id], NAME: row[name]<BR>/n/";
}
sql->disconnect();
?>
6-錯誤處理
txtSQL 包含錯誤處理能力。主要用以下的函數:
strict()
get_last_error()
last_error()
errordump()
詳細瀏覽:txtSQL (2.2 Final)
http://txtsql.sourceforge.net/site/index.php