php - 当 mysql_query 中包含 "AND"时,Ajax 响应不起作用

标签 php jquery mysql sql ajax

所以这是我的问题的简短版本:

这个有效:

$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/

相关文章:

mysql - 在新表中插入多行的触发器

php - mysqli_fetch_field() 多次输出字段名称

javascript - JSON PHP 脚本将 Javascript 附加到 JSON 数据

javascript - 更新 Like 按钮而不刷新页面

javascript - CakePHP 3 : Ajax response is returning a 200 response code and a parsererror

php - Cookie 在 Chrome 中有效,但在 IE 或 Safari 中无效?

php - 在多对一的情况下,如何根据多个 ID 从列中选择唯一值?

php - PHP 中的 Mysql 查询挂起 3000 多个结果

javascript - 卸载前不显示警报

mysql - 如何从 child id中获取所有 parent