2016-11-23 2 views
-1

Laravel内でmysql_fetch_array()を使用しようとするとエラーが発生します。Laravelはmysql_fetch_array()を使用できません

while ($row = mysql_fetch_array($query)) 

代わりにmysql_fetch_array()を使用しますか?私が得た

エラー、

は、mysql_fetch_array()は、パラメータ1が

フル一部、

//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

完全なものを追加 –

+1

なぜですか?なぜあなたはこれをやりますか?代わりに 'DB'関数を使用してください – aynber

+0

ここでDB関数を使用するには? DB :: ?? – Nim

答えて

4

DB文と結果を返す選択し、与えられたリソース、配列であることを期待し、クエリーオブジェクトではないので、結果を反復処理するだけで済みます。

$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); 

} 

DBクラスを使用したロークエリの実行に関する詳細は、hereを参照してください。

+0

これは、AdminViewController.phpの84行目にFatalErrorExceptionというエラーを生成します。 配列としてstdClass型のオブジェクトを使用することはできません。 84行目は "$ term = $ row ['term'];" – Nim

+0

ああ、それがオブジェクトか配列かどうかは決して覚えていない。私はそれが4と5の間で変更されたと思う。私はそれをオブジェクトとして更新する。 – aynber

+0

さて、それは動作している!私はララベルには新しいです。だから私はそれらに気付かなかった。ありがとう! :) – Nim

関連する問題