2016-05-08 55 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