所以现在我有一个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>
答案 0 :(得分:0)
ItemName是否为varchar字段,如果是,您是否尝试用引号包围字符串?
$stmt = $mysqli->query("SELECT * FROM group2.menu WHERE ItemName = '$ID' ");