所以这是我的问题的简短版本:
这个有效:
$query = mysql_query("SELECT * FROM `some_table`
WHERE IF (LENGTH('$some_variable') > 0, `$other_variable` LIKE
'%$some_variable%' , 0)");
我得到一个结果,将它全部打包到一个数组中,然后使用 json_encode 将它发送回我的 ajax 文件,我在其中列出结果。而且效果很好。
但是,当我向查询添加更多内容时,它只会返回空的,所以这不起作用:
$query = mysql_query("SELECT *
FROM `some_table`
WHERE `something` = `some_other_thing` AND
IF (LENGTH('$some_variable') > 0, `$other_variable`
LIKE '%$some_variable%' , 0)");
所以对于 AND 来说,事情就是行不通,但只有 ajax,我的意思是如果我简单地打印出数组,php 就可以很好地工作。
提前致谢。
这是我的 php 的其余部分
while ($value = mysql_fetch_array($query)) {
$result[] = array
(
gyarto => $value['gyarto'],
termekcsalad => $value['termekcsalad'],
kiszereles => $value['kiszereles']
);
}
echo json_encode($result);
和我的jquery:
$.ajax({
url:"updates/isu.php",
type:"POST",
data: form,
dataType: "json",
success: function(data) {
$.each(data, function(i)
{
$("#result table").append('<tr><td>'+data[i].gyarto+' '+data[i].termekcsalad+' '+data[i].kiszereles+'</td></tr>');
});
}
});
});
最佳答案
I think you are mixing php language in a mysql query.
尝试:
$query = mysql_query("SELECT * FROMsome_table WHEREsomething=some_other_thing AND (LENGTH('$some_variable') > 0 AND '$other_variable` LIKE '%$some_variable%')");
这里还有一个关于如何使用 mysql_fetch_array 的例子
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("ID: %s Name: %s", $row["id"], $row["name"]);
}
mysql_free_result($result);
关于php - 当 mysql_query 中包含 "AND"时,Ajax 响应不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357867/