查询返回int的结果而不是字符串

时间:2013-11-03 00:39:57

标签: php sql ajax

所以现在我有一个ajax调用,它将ID从按钮发送到php脚本并返回食物结果。如果我通过使用ItemID和int调用它,则返回itemID的行。但是,如果我将其更改为如下所示的ItemName,它不会返回任何行。在consol中,当我使用ItemName时没有返回任何内容但是如果我在$ STMT之前使它打印编码$ ID,那么它表明正在传递正确的字符串

if(isset($_POST['ID']))
{
$ID = $_POST['ID'];

$stmt = $mysqli->query("SELECT * FROM  group2.menu  WHERE ItemName = $ID ");

if($stmt->num_rows) 
{  
$row = $stmt->fetch_assoc();

 echo $row;
print json_encode($row);    

}

}

相关的AJAX

$('.check').click(function(){

var thisID    = $(this).attr('id');
alert(thisID);
$.ajax({
    type: "POST",
    crossDomain: true,
    url: "http://csmaster.sxu.edu/group2/group2/CougarLunch/retrieveColumn.php",
    data:{ ID: thisID},
    cache: false,
    async:true,
    datatype: "jsonp",
    success: function(data)
    {
        console.log(data);
        alert(data);
        // 
    }

  });
  }); 

Button First的HtML有效,第二个没有

          <input type="checkbox" name="value" id="27" class="check">              
          <label for="27">pizza</label>

           <input type="checkbox" name="value" id="scrambled egg" class="check">             
          <label for="scrambled egg">Scrambled Egg</label>

1 个答案:

答案 0 :(得分:0)

ItemName是否为varchar字段,如果是,您是否尝试用引号包围字符串?

$stmt = $mysqli->query("SELECT * FROM  group2.menu  WHERE ItemName = '$ID' ");