-1
我有以下查詢,它工作正常。 但如果$where
是陣列它將會失敗,有什麼解決方案?建立動態mysql查詢與多個條件
public function update($tbl_name, $data = NULL, $where = NULL)
{
if ($data) {
$data_key = array_keys($data);
$where_key = array_keys($where);
$query = "UPDATE " . $data['db_table'] . " SET ";
foreach ($data_key as $key) {
$query .= "`" . $key . "` = '" . $data[$key] . "' ";
}
//todo fix that for multi where
$query.=" WHERE `".$where."`=".$where[''];
return $this->query($query);
}
return false;
}
您必須確定where變量是否爲數組,如果是必須遍歷它並將where子句作爲字符串寫入新變量,然後在SQL查詢語句中輸出。 – Jeff
您需要一個'WHERE IN(數組元素)'來過濾多個值。如果數組元素是文本,則需要用引號括住它們。無論元素類型如何,您都需要在值之間使用逗號分隔符。 –
謝謝,我更新code.can任何人都給我正確的代碼。 –