用於插入/更新輔助函數的PDO 準備語句
在傳統的MySQL 驅動場景中,dbSet() 函數是一個很有價值的工具,用於產生SET 語句。然而,當使用 PDO 準備好的語句時,需要類似的方法來保持程式碼的乾燥性和靈活性。
PDO 準備好的語句輔助函數
以下輔助函數 dbSet( ),可以用來實現這個:
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>
ORM 替代方案
要獲得更全面的解決方案,請考慮使用ORM(物件關係模型)映射)框架,例如 Doctrine。使用ORM,可以大幅簡化資料填充:
$table = new Table(); $table->fromArray($_POST); $table->save();
PDO 擴充類別
對於自訂解決方案,建立PDO 擴充類別可以提供一個便利的方法高效率處理準備好的語句查詢,減少對詳細的bind_param() 呼叫的需求。
以上是如何為插入/更新作業建立 PDO 準備語句輔助函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!