2016-11-23 2 views
-1

Ich erhalte eine Fehlermeldung, wenn ich versuche, mysql_fetch_array() in Laravel zu verwenden.Laravel kann nicht mysql_fetch_array() verwenden

while ($row = mysql_fetch_array($query)) 

Was stattdessen zu verwenden mysql_fetch_array()?

Fehler Ich habe,

mysql_fetch_array() erwartet Parameter 1 Ressource zu sein, array

vollen Teil,

//prepare the tag cloud array for display 
    $terms = array(); // create empty array 
    $maximum = 0; // $maximum is the highest counter for a search term 

    $query = DB::select('SELECT term, counter FROM search ORDER BY counter DESC LIMIT 30'); 

    while ($row = mysql_fetch_array($query)) 
    { 
     $term = $row['term']; 
     $counter = $row['counter']; 

     // update $maximum if this term is more popular than the previous terms 
     if ($counter > $maximum) $maximum = $counter; 

     $terms[] = array('term' => $term, 'counter' => $counter); 

    } 
+0

Fügen Sie das Ganze hinzu –

+1

Warum? Wieso würdest du das machen??? Verwenden Sie einfach die "DB" -Funktionen statt – aynber

+0

Wie funktioniert die DB-Funktion hier? DB :: ?? – Nim

Antwort

4

DB Anweisungen und wählt die Ergebnisse zurück gegeben, kein Abfrageobjekt, also müssen Sie nur die Ergebnisse durchlaufen.

$results = DB::select('SELECT term, counter FROM search ORDER BY counter DESC LIMIT 30'); 

foreach($results as $row) 
{ 
    $term = $row->term; 
    $counter = $row->counter; 

    // update $maximum if this term is more popular than the previous terms 
    if ($counter > $maximum) $maximum = $counter; 

    $terms[] = array('term' => $term, 'counter' => $counter); 

} 

Weitere Informationen über Roh-Abfragen über die DB-Klasse ausgeführt wird, kann here finden.

+0

Nun wird ein Fehler als FatalErrorException in AdminViewController.php Zeile 84 generiert: Kann nicht Objekt des Typs StdClass als Array verwenden. Zeile 84 ist "$ term = $ row ['term'];" – Nim

+0

Ah, ich kann mich nie erinnern, ob es ein Objekt oder Array ist, und ich denke, es hat sich zwischen 4 und 5 geändert. Ich werde meine Antwort damit als Objekt aktualisieren. – aynber

+0

Ja, jetzt funktioniert es! Ich bin neu in Laravel. Deshalb habe ich sie nicht bemerkt. Vielen Dank! :) – Nim

Verwandte Themen