我试图使用Ajax请求从数据库中获取一些结果:
SELECT *
FROM manifest_child
WHERE manifest_id = $manifest_id
AND s_no = $sub_id
AND branch_code = '$branch_code'
";
一切看起来都不错,但是当我传递一些值时会出错:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND s_no = 3 AND branch_code = 'KHI'' at line 3
我被困在那里,任何人都请帮帮我,谢谢你。
答案 0 :(得分:0)
可能是换行尝试这个
$que = "SELECT * FROM manifest_child".
"WHERE manifest_id = $manifest_id".
"AND s_no = $sub_id".
"AND branch_code = '$branch_code'";
答案 1 :(得分:0)
我认为你的manifest_id
ans s_no
不是整数,所以请用引号括起来。试试这个
$que = "SELECT * FROM manifest_child
WHERE manifest_id = '$manifest_id'
AND s_no = '$sub_id'
AND branch_code = '$branch_code'";
答案 2 :(得分:0)
您的查询对SQL注入不安全 你必须这样做:
$que = mysql_escape_string($que);
$que = "SELECT * FROM manifest_child
WHERE manifest_id = $manifest_id
AND s_no = $sub_id
AND branch_code = '$branch_code'
";
通过这种方式,您的代码将更加安全,您将远离此错误。
我认为错误是因为你把另一个' (qute)传递参数时。
答案 3 :(得分:0)
我得到了答案,它给出了一个mysql错误,因为$ manifest_id得到一个空值,因此WHERE子句没有得到满足,我没有注意到,因为mysql错误没有显示错误中的空部分。 我尝试以不同的方式查询,错误仍然存在,但以不同的方式:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=AND s_no = 3 AND branch_code = 'KHI'' at line 3
注意AND关键字前面的等号。感谢大家。 :)