在 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)