$conn = self::getConnection(); $SQL = "SELECT "; $SQL .= $COLUMNS[0]; } else { foreach($COLUMNS as $column) { $SQL .= $column.","; } } $SQL .= " FROM {$TABLE}"; $SQL .= " WHERE "; foreach($WHERE as $key => $val) { $SQL .= $key.$LOGIC_OPER."'".$val."' ".$OPER." "; } } $result = $conn->query($SQL); if(!$result) { LogFile::AddLog("Wystąpił błąd połączenia z bazą danych!", __LINE__, __FILE__); return false; } else { while(($row = $result->fetch_array(MYSQLI_ASSOC)) !== NULL) { $resultArray[] = $row; } } return $resultArray; } else { LogFile::AddLog("Zapytanie bazodanowe zwróciło pusty wynik!", __LINE__, __FILE__); return false; } mysqli_close($conn); }
i jej wywołanie:
Metoda selectData tworzy zapytanie SELECT id, username FROM users WHERE id > 2
natomiast ja chcę zrobić coś takiego SELECT id, username FROM users WHERE id > 2, id<5
czyli takie wywołanie:
I teraz nie wiem jak z czytać za pomocą foreach te klucze id w metodzie selectData (linie kodu 23- 25) tak by dla pierwszego klucza id było coś takigo
$SQL .= $key.$LOGIC_OPER."'".$val."' ".$OPER." ";
a dla drugiego id
$SQL .= $key.$LOGIC_OPER2."'".$val."' ".$OPER." ";
(Dodałem $LOGIC_OPER2 = "=" dla drugiego znaku "<" do metody selectData.)
próbowałem to jakoś na if-ach robić, tylko jak odwołać się, że dla klucz o indeksie 0 dla którego ma wykonać się to pierwsze dopisanie $SQL a dla klucza i indeksie 1 (tego id drugiego) to drugie dopisanie
, próbowałem na różne sposoby, ale moja wiedza jest widocznie nikła .