PHPで連想配列を使用してUPDATEステートメントを構築する最良の方法は何ですか?
たとえば、次のような関数があるとします。
/**
* For update queries
*
* @param string $tableName Name of the table we're wanting to update.
* @param array $values Associative array of columns / values to update. e.g. array('name' => 'John', 'age' => 29)
* @param array $conditions Associative array of conditions. e.g. array('user_id' => 1) equates to "WHERE user_id = 1"
*/
public function update($tableName, $values, $conditions = array()){
//Construct SQL
}
これまでのところ、次のような単純な UPDATE ステートメントを作成できました。
UPDATE `myTableName` SET `name` = :name, `age` = :age WHERE `user_id` = :user_id
今、私は不思議に思っています: WHERE 句を構築するための最良の方法は何ですか? 私が調べることができる他のライブラリやコードベースに同様の実装はありますか? 例: OR と AND と IN() などを含む WHERE 句の作成にどのようにアプローチすればよいですか?
UPDATE example SET col = :val WHERE user_id = :user_id AND (age = :age OR name = :name)