PHP:从数据库查询问题中检索图像

时间:2016-05-08 13:47:38

标签: 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);

1 个答案:

答案 0 :(得分:2)

我想您可能只是在查询中将列名放在错误的位置。

如果Category_imgRest_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'";

你也可以通过使用Alias来缩短一些东西,它通常会使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错误,任何可以解决的消息都更加实用

喜欢这样

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