-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句を記述する必要がありますどこその後、SQLクエリ文であることを印刷するかどうかを判断する必要があると思います。 – Jeff
複数の値をフィルタリングするには 'WHERE IN(配列要素) 'が必要です。配列要素がテキストの場合、引用符で囲む必要があります。要素の種類にかかわらず、値の間にコンマ区切りが必要です。 –
ありがとう、私は誰も私に正しいコードを与えるcode.canを更新します。 –