用於插入資料的PDO 準備語句
提供的輔助函數dbSet ,產生與傳統MySQL 驅動程式一起使用的SET 語句,但缺乏對PDO 準備語句的支援。為了解決這個問題,可以利用函數的修改版本,並利用 PDO 的優勢。
修改後的輔助函數
更新的 dbSet 函數現在會採用一組欄位名稱和對應值陣列的參考。它為每個欄位建構一個帶有佔位符的 SET 語句,並將值加到值數組中。
function dbSet($fields, &$values) { $set = ''; $values = array(); foreach ($fields as $field) { if (isset($_POST[$field])) { $set .= "`$field` = ?,"; $values[] = $_POST[$field]; } } return rtrim($set, ','); }
用法範例:
$fields = explode(" ","name surname lastname address zip fax phone date"); $_POST['date'] = $_POST['y']."-".$_POST['m']."-"$_POST['d']; $query = "UPDATE $table SET ".dbSet($fields, $values).", stamp=NOW() WHERE>
優點準備的PDO語句:
效率:準備查詢,減少資料庫
一致性:$table = new Table(); $table->fromArray($_POST); $table->save();
以上是如何使用 PDO 準備語句來改進 MySQL 插入/更新功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!