2015-08-23 28 views
-1

我使用這個代碼:爲什麼我的劇本工作一半?

$date = date('Y-m-d'); 
$selStat = "SELECT obqva_id, COUNT(*) as broqch FROM statist WHERE date='$date' GROUP BY obqva_id ORDER BY COUNT(*) DESC LIMIT 8 "; 
$queryStat = mysqli_query($conn, $selStat); 

while ($rowStat = mysqli_fetch_array($queryStat)) { 
    $count = $rowStat['broqch']; 
    $id = $rowStat['obqva_id']; 

    echo $id.' - '.$count.'<br>'; 

    $selBest = "SELECT * FROM view WHERE id='$id' GROUP BY $count "; 
    $queryBest = mysqli_query($conn, $selBest); 
    **$rowView = mysqli_fetch_array($queryBest);** this problem ! 

    $selImage = "SELECT * FROM upload WHERE obqva_id='$id'"; 
    $queryImage = mysqli_query($conn, $selImage); 
    $rowImage = mysqli_fetch_array($queryImage); 
    ?> 

enter image description here

其中產生這樣的輸出:

第一,未來的結果有問題,三,未來有沒有問題?爲什麼? 第一個數字41是ID下一個數字總視圖。

+1

您將需要顯示更多代碼,特別是輸出圖像中內容的部分 – rjdown

+0

因此,它告訴您錯誤發生在第208行,我認爲您已標記。但是,這個問題真的開始了兩行:select語句沒有返回你所期望的數據類型;以某種方式失敗並返回FALSE。 – BigScar

回答

1

看來查詢無效,或者沒有結果。 這就是爲什麼你得到一個布爾而不是資源。 你可以把你的mysqli_query功能IF語句,像這樣的篩選:

$selBest = "SELECT * FROM view WHERE id='$id' GROUP BY $count "; 
if($queryBest = mysqli_query($conn, $selBest)){ 
    $rowView = mysqli_fetch_array($queryBest); 
} 
else{ 
    $rowView = false; 
} 

就是這樣,現在查詢。您正嘗試將結果分組在一個數字上: SELECT * FROM view WHERE id ='$ id'GROUP BY $ count 不確定爲什麼要分組,因爲它似乎只是想獲得一些信息一個特定的ID。在這種情況下,我會擺脫GROUP BY語句。

+0

此代碼沒有錯誤,但我的腳本再次沒有工作! –

+0

您是否試圖從查詢中刪除GROUP BY語句? – Fin

+0

我刪除了GROUP BY,我的腳本沒問題,非常感謝! –

相關問題