为什么插入两个值时不能显示$result


why $result cannot display when insert two values?

<table width="300" border="1">
<tr>
<td>
<div class="tourmain">
  <?php    
        $result=mysql_query("SELECT * FROM foodmenu where food_type = 'Appetizers' and restaurant_name = 'Chili's "); 
        while($row=mysql_fetch_array($result)){
             ?>
    <dl>
        <dt><a href="food.php?id=<?php echo $row['foodID'];?>"><img src="<?php echo $row['food_img'];?>" width="280" height="200" /></a></dt>
      <dd>
       <span><?php echo $row['food_type'];?></span>
        </dd>
  </dl>
     <?php }?>
</div>
</td>
<td><div class="tourmain">
  <?php    
        $result=mysql_query("SELECT * FROM foodmenu where food_type = 'Main Courses'"); 
        while($row=mysql_fetch_array($result)){
             ?>
    <dl>
        <dt><a href="food.php?id=<?php echo $row['foodID'];?>"><img src="<?php echo $row['food_img'];?>" width="280" height="200" /></a></dt>
      <dd>
       <span><?php echo $row['food_type'];?></span>
        </dd>
  </dl>
     <?php }?>
</div>

我的问题是,当我在$result中插入两个值时,它在表列中显示为空。例如,从foodmenu中选择*,其中food_type='开胃菜'和restaurant_name='辣椒',这将在表列中显示空结果。

但是当Select * from foodmenu where food_type='Appetizers'时,它将显示所有值为'Appetizers'的food_type。

为什么选定的餐厅键不能显示相对于其food_type的结果?我可以知道这个问题的解决方法吗?

引号是你查询的问题。

你必须使用mysql_real_escape_string

$var = mysql_real_escape_string("Chili's");
$result = mysql_query("SELECT * FROM foodmenu where food_type = 'Appetizers' and restaurant_name = '".$var."' "); 
<div class="detailtop">
    <?php    
        $var = mysql_real_escape_string("Chili's");
        $result = mysql_query("SELECT * FROM foodmenu where food_type = 'Appetizers' and restaurant_name = '".$var."' "); 
        while($row=mysql_fetch_array($result)){
             ?>
        <dl>
            <dt>
            <img src="<?php echo  $row["food_img"];?>" /> </dt>
            <dd>
    <form action="order.php" method="post" name="send" onSubmit="return Check()"  enctype="multipart/form-data">
                <h3><?php echo  $row["food_name"];?></h3>
                <div class="detailtips">
                    <?php echo  $row["food_description"];?>
                </div>
                <p><span>Type:</span><strong><?php echo  $row["food_type"];?></strong></p>
                <p><span>Price:</span><strong><?php echo  $row["food_price"];?><input name="num"  type="hidden" class="num" value="<?php echo  $row["food_price"];?>" /></strong>RM</p>
                <div class="order" style=" padding-top:20px; padding-left:20px;">
                <input name="id" type="hidden" value="<?php echo  $row["foodID"];?>" />
                <input name="" type="submit"  value="" class="ordersubmit" style=" margin-left:53px;">
                </div>
                </form>
            </dd>
        </dl>
        <?php }?>
  </div>

以前的编码可以运行,它可以显示所有数据从数据库与相对值。但我想问,如果我点击其中一个img,它将只显示一种食物与自己的foodID,但我使用上面的编码,它也显示所有的食物。这一步我该怎么做?我只需要一个食物信息显示时,点击其中一个在前面的编码。由于我的编码需要显示许多餐厅页面和菜单项,我只需要它适合我的foodID已经在数据库中设置。