2016-05-08 95 views
0

我已閱讀很多帖子,但我找不到我的答案。 我正在開發一個食品訂單/交付網站,其中有許多食品類別,非洲,酒精,美國......每個類別都有不同的標題圖片。因此,如果管理員創建新餐館,當他們選擇餐館美食時,正確的標題圖片將自動顯示在該餐館的主要網站產品頁面上。PHP:從數據庫檢索圖像查詢問題

我已經手動將圖像輸入到數據庫中,現在我試圖檢索數據庫,我或死語句打印它不是,但我沒有錯誤信息,這是令我困惑。

mysqli_report(MYSQLI_REPORT_INDEX); 
    if (isset($_GET['rest_id'])) { 

     $Rest = $_GET['rest_id']; 

     $get_cat_img = "SELECT Cuisine_category 
     FROM Rest_Category,Category_img 
     INNER JOIN Rest_Details 
     ON Rest_Category.Cat_ID = Rest_Details.Cat_ID 
     WHERE Rest_Details.Cat_ID='$Rest'"; 

     $results = mysqli_query($dbc, $get_cat_img) or die("query is not working"); 
     $row=mysqli_fetch_array($results) or die ("q not working"); 
     $img=$row['Category_img']; 
     echo $row['Category_img']; 

     echo '<img src="'.$img.'" alt="background" style="width:100%;height:300px">';   
    } 
    mysqli_close($dbc); 
+0

什麼是'Category_img'一個表或列的名稱? – RiggsFolly

+0

@RiggsFolly這是列名 – Monroe

+0

'或死(​​「查詢不工作」)'不幫助你在這裏,如果你的查詢失敗,'或死(mysqli_error($ dbc))'會,將http://php.net/manual/en/function.error-reporting.php –

回答

2

我想你可能只是在你的查詢錯誤的地方放了一個列名。

如果Category_img是在Rest_Category表中的列名,這是你想要做

$get_cat_img = "SELECT Cuisine_category,Category_img 
       FROM Rest_Category 
        INNER JOIN Rest_Details ON Rest_Category.Cat_ID = Rest_Details.Cat_ID 
       WHERE Rest_Details.Cat_ID='$Rest'"; 

您也可以通過使用別名的縮短事情有點什麼,這往往使得SQL代碼時更容易閱讀它通過了非常簡單的查詢。

$get_cat_img = "SELECT rc.Cuisine_category,rc.Category_img 
       FROM Rest_Category rc 
        INNER JOIN Rest_Details rd ON rc.Cat_ID = rd.Cat_ID 
       WHERE rd.Cat_ID='$Rest'"; 

而且修改您的錯誤報告實際報告真實MySQL錯誤,它更usful任何消息可以將部分了

像這樣

$results = mysqli_query($dbc, $get_cat_img); 
if ($result === false) { 
    echo 'query is not working: ' . mysqli_error($dbc); 
    exit; 
} 
+0

我不認爲它喜歡內部連接,我只是執行,看看是否一個簡單的查詢會起作用select * FROM ....和查詢工作,很奇怪 – Monroe

+0

在這裏很難幫助,因爲我不知道你的數據庫模式 – RiggsFolly

+0

查看建議爲了正確的錯誤報告 – RiggsFolly