Zen Cart 數據庫抽象層

基本示例

下面的查詢語句用來檢索給定商品的型號:

理解基本示例

這使得 $db 對象在你的代碼內可用。($db 對象用來和數據庫對話)。

這將指定你想運行的 SQL 查詢語句。你可以參考結構表文檔來確定特定的字段和表格,或者直接查看數據庫結構。

TABLE_PRODUCTS 常量用於支持表格前綴,因爲常量會按照位於 /includes/filenames.php 腳本的邏輯以及你的 /includes/configure.php 文件中的 DB_PREFIX 值,自動包含前綴。

注意::productID: 是一個佔位符,它將由下一行代碼處理:

這實質上佔據了前一行(需要運行的查詢語句) $sql 變量內容,並且把所有 :productID: 出現的地方用 $theProductID 的值代替,首先要確保 $theProductID 是一個整型的數值。(這是出於安全原因,這樣沒有人可以對你的腳本進行 SQL 注入)除了 integer 以外的其它 bindVars 數據類型在下面列出。

這行運行了事實的查詢,它的運行結果被保存在一個名爲 $result 的數據庫對象。

這將檢查,從查詢語句返回是否有超過0條記錄。如果是,型號的編號將會在屏幕上打印。如果不是,將顯示一條信息。

在多個記錄中循環的例子

一個列出你數據庫全部貨幣,同時帶有現在配置匯率的簡單例子:

理解循環例子

查看之前的描述。

將要被運行的 SQL 查詢語句。解釋見前面的例子。

注意:在這沒有使用 bindVars(),因爲這個查詢語句不需要參數作爲選擇標準。

執行查詢語句 - 和之前的例子一樣。

檢查看我們是否有任何的結果。

這開始在從數據庫中返回結果循環。

這將簡單把檢索到的數據輸出到屏幕。注意通過 $result->field['字段名'] 來引用各個字段。

這告訴它跳到查詢結果的下一個記錄,然後回到循環和輸出。。。重複一直到 while 條件符合 EOF(文件的結尾,查詢結果的結尾)。

如果 IF 語句失敗,意味着沒有返回結果,然後我們顯示一條信息。

找出插入記錄的編號

當你運行一條帶有 INSERT 語句的查詢的時候,你可以通過引用 $db->Insert_ID() 來找出你剛插入的新記錄的編號,就像這樣:

bindVars 數據類型

bindVars() 參數可以使用以下的數據類型。實踐中前四種使用最多。

  • integer - 確保提供的數據是一個整型
  • string - 確保提供的數據是一個字符串,同時給它加引號
  • noquotestring - 確保提供的數據是一個字符串,但不添加引號
  • float - 確保提供的數據是一個小數,同時確保一個空白的字符串被轉換成0
  • currency - 類似字符串
  • date - 類似字符串
  • enum - 和 MySql enum 類型類似:
  • regexp - 檢查提供的參數被格式成一個正則表達式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章