Ich habe ein Problem, und ich habe gesucht und gefunden viele Lösung auf Stack-Überlauf-Site, aber wenn ich es mit meinem Code versuchen es scheint nicht zu funktionieren. Ich hatte gehofft, dass jemand helfen könnte, herauszufinden, was mit meinem Code nicht stimmt.Wo und Bestellung von ID funktioniert nicht
Teil der Lösung auf Stack-Überlauf
mysql query with where and order by take long time
Ich versuche, einen Datensatz aus der Datenbank auswählen, in den Status = $ Status, aber die Antwort ist immer wie folgt:
Warnung: Ungültiges Argument für foreach() in /Users/khloudamer/Documents/Websites/BusinessDoorFinal2/index.php in Zeile 98
Das Verfahren ist wie folgt:
public static function readAlllisted($status){
try{
// = pending ORDER BY id DESC'
$db = Database::getInstance();
$dbh = $db->getConnection();
$results = $dbh->query('SELECT * FROM application where status = {$status} order by id desc limit 0,30');//select * from data where cat_id=12 order by id desc limit 0,30
return $results;
}catch(Exception $e){
return $e->getMessage();
}
I
(SELECT * FROM application where status = {$status} order by id desc limit 0,30')
(SELECT * FROM application where status = '$status' order by id desc limit 0,30')
AND
SELECT * FROM application where status = $status order by id desc limit 0,30
versucht haben und immer noch funktioniert nichts
ist meine Tabellenstruktur als
1 id Primary int(11)
2 _customer_id char(8)
3 personal_id int(11)
4 emp_id int(11)
5 fin_id int(11)
6 status varchar(100)
Die Art und Weise i folgt bin Aufruf der Methode ist wie folgt >>
$app = Application::readAlllisted("pending");
foreach($app as $r){
echo $r['status'];
echo '<br/>';
echo $r['personal_id'];
echo '<br/>';
echo $r['emp_id'];
echo '<br/>';
}
?>
''SELECT * FROM Anwendung mit Status = {$ status} Reihenfolge mit ID desc limit 0,30' 'wird mit'' '(einfache Anführungszeichen) geschlossen. Umschließen Sie es mit '" "doppelte Anführungszeichen – roullie
Sie erhalten eine Ausnahme (glaube ich), aber Sie überprüfen nicht die zurückgegebene Zeichenfolge. Sie benötigen etwas wie' if (is_array ($ app)) {foreach (...)} sonst {echo 'oops, error'. $ app;} ' –