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() |
新聞熱點
疑難解答