我看过很多帖子,但我找不到答案。 我正在开发一个食品订单/递送网站,其中有许多美食类别,非洲,酒精,美国......每个类别都有不同的标题图像。因此,如果管理员创建一个新餐厅,当他们选择餐厅美食时,正确的标题图像将自动显示在该餐厅的主要网站产品页面上。
我已经手动将图像输入到数据库中了,现在我正在尝试检索数据库,我或者死的语句打印出它不是,但我没有错误消息,这让我感到困惑。
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 :(得分: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'";
你也可以通过使用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;
}