下面的查詢語句用來檢索給定商品的型號:
view plain
$theproductid
= 25;
global
$db;
$sql
= "select products_model from "
. table_products .
" where products_id = :productid:"
; $sql
= $db
->bindvars(
$sql
, ':productid:'
, $theproductid
, 'integer'
);
$result
= $db
->execute(
$sql
); if(
$result
->recordcount() > 0) else
view plain
global
$db;
這使得 $db 物件在你的**內可用。($db 物件用來和資料庫對話)。
view plain
$sql
= "select products_model from "
. table_products .
" where products_id = :productid:"
;
這將指定你想執行的 sql 查詢語句。你可以參考結構表文件來確定特定的字段和**,或者直接檢視資料庫結構。
table_products 常量用於支援**字首,因為常量會按照位於 /includes/filenames.php 指令碼的邏輯以及你的 /includes/configure.php 檔案中的 db_prefix 值,自動包含字首。
view plain
$sql
= $db
->bindvars(
$sql
, ':productid:'
, $theproductid
, 'integer'
);
這實質上佔據了前一行(需要執行的查詢語句) $sql 變數內容,並且把所有 :productid: 出現的地方用 $theproductid 的值代替,首先要確保 $theproductid 是乙個整型的數值。(這是出於安全原因,這樣沒有人可以對你的指令碼進行 sql 注入)除了 integer 以外的其它 bindvars 資料型別在下面列出。
view plain
$result
= $db
->execute(
$sql
);
這行執行了事實的查詢,它的執行結果被儲存在乙個名為 $result 的資料庫物件。
view plain
if($result
->recordcount() > 0) else
這將檢查,從查詢語句返回是否有超過0條記錄。如果是,型號的編號將會在螢幕上列印。如果不是,將顯示一條資訊。
乙個列出你資料庫全部貨幣,同時帶有現在配置匯率的簡單例子:
view plain
global
$db;
$sql
= "select title, code, value, last_updated from "
. table_currencies;
$result
= $db
->execute(
$sql
); if(
$result
->recordcount() > 0)
} else
view plain
global
$db;
檢視之前的描述。
view plain
$sql
= "select title, code, value, last_updated from "
. table_currencies;
將要被執行的 sql 查詢語句。解釋見前面的例子。
注意:在這沒有使用 bindvars(),因為這個查詢語句不需要引數作為選擇標準。
view plain
$result
= $db
->execute(
$sql
);
執行查詢語句 - 和之前的例子一樣。
view plain
if($result
->recordcount() > 0)
這告訴它跳到查詢結果的下乙個記錄,然後回到迴圈和輸出。。。重複一直到 while 條件符合 eof(檔案的結尾,查詢結果的結尾)。
view plain
} else
如果 if 語句失敗,意味著沒有返回結果,然後我們顯示一條資訊。
當你執行一條帶有 insert 語句的查詢的時候,你可以通過引用 $db->insert_id() 來找出你剛插入的新記錄的編號,就像這樣:
view plain
global
$db;
$sql
= "insert into "
. table_something .
" (fieldname1, fieldname2) values (:value1:, :value2:)"
; $sql
= $db
->bindvars(
$sql
, ':value1:'
, $valueone
, 'integer'
);
$sql
= $db
->bindvars(
$sql
, ':value2:'
, $valuetwo
, 'string'
);
$result
= $db
->execute(
$sql
);
$newrecordid
= $db
->insert_id();
echo
'the new record added was number: '
. $newrecordid
;
bindvars() 引數可以使用以下的資料型別。實踐中前四種使用最多。
資料庫抽象層 PDO
資料庫抽象層 在資料遷移和專案操作多資料庫時,為了便於操作而提供一種的解決方案。當從乙個資料庫系統向另乙個資料庫系統遷移時,幾乎不用更改太多的程式 如將ms sql server遷移到mysql。規劃必須規範,盡量使用相同的資料進行物件例項化,並且使用相同的資料庫抽象層 如pdo 這樣只需要改變系統...
PDO資料庫訪問抽象層
pdo建構函式說明 dsn資料來源名稱,包括主機名埠號和資料庫名稱 username資料庫使用者名稱 password 密碼 driver options連線資料庫的其他選項 pdo是比mysql更高效,資料庫遷移時基本不用更改太多的 sql語句 pdo exec 返回sql語句後受影響的行數 qu...
初識PDO資料庫抽象層
就是運算元據庫的方法,pdo就是把運算元據庫的函式封裝成乙個pdo類,其間做了安全驗證而已。果要開啟某個pdo直接在php.ini當中啟用即可。直接將分號去除即可 詳細的開啟服務可以在phpinfo下面查詢即可。mysql連線資料庫的方式是 mysql connect localhost root ...