2007年05月22日

To Prepare SQL Statements and Read Data

Tags: php sql phpunit

試作一個 PHP 程式,可以從用戶端取得使用者輸入的資料,接著讀入一份外部的 SQL 指令稿。 將 PHP 中的變數值代入 SQL 指令之中 (prepares SQL statements),以之查詢資料庫取回查詢結果。


test.sql

測試案例。這是一份 SQL 指令稿,採用標準 SQL 語法定義變數,並代入查詢敘述中。 這份指令稿中包含了兩道查詢敘述,故會得到兩份結果表。

第一階段試作

利用 preg_match_all() 找出 SQL 敘述中的變數內容,判斷 PHP 程序中有無定義同名變數(16行)。 分別建立兩份表,一份是要代換的變數名稱($patterns),一份是變數值($replacements)。 接著以 preg_replace() 完成 SQL 敘述的變數代換動作。

改成函數形式(sql_sheets_read.php)

將上述的直述程式重整為函數形式。將每一道查詢指令之結果視為一個試算表($sheet),存入一個陣列中。 最後傳回所有結果的總表($sheets)。

函數測試案例

測試案例使用 PHPUnit3 做為單元測試工具。 由於要測試的內容位於函數之中,所以此處採用 PHPUnit 用例中較少見的測試作法。


Posted by shirock at 樂多Roodo! │17:11 │回應(0)引用(0)PHP
樂多分類:網路/3C 共同主題:PHP基本語法 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/3321763