这个有2个技术团队感到困惑。
我有一个提交到PHP脚本的HTML表单,该脚本生成以下简单的MySQL命令:
SELECT * FROM table WHERE parameter='something';
问题是,当我运行PHP脚本时,我得到一个空集返回。但是,当我手动将命令输入SQL时,它可以正常工作并按原样返回行。我能想到的最接近的猜测是,粘贴的命令中有一些隐藏的字符......?
非常感谢任何建议
编辑:
确切的PHP查询: $ query = mysql_query(" SELECT * FROM Residential WHERE"。$ parameters。" ORDER BY' Residential',' list_price' ASC LIMIT&#34 ; $ offset。","。$ listinglimit。&#34 ;;")或死('无法连接:' .mysql_error()); echo' d查询(也提交给MySQL): SELECT * FROM Residential WHERE sub_area_name =' TJ-Trojan' AND list_price< = 99999999 ORDER BY' Residential',' list_price' ASC LIMIT 0,10; 如果我将该查询粘贴到phpmyadmin中,则结果为空集。但是如果我手动输入它,那么结果就是返回的行(应该是这样)
答案 0 :(得分:1)
假设你的代码里面有类似
的内容...
$query = "SELECT * FROM table WHERE parameter='$param'";
...
只需回显var $查询,确保它与您手动运行的查询确实相同
echo $query;
在我看来,如果它是相同的,它不会因为它是通过php执行而失败。
答案 1 :(得分:0)
首先,我不能感谢每个人的快速和有益的回复。问题出在HTML代码中。出于某种原因," - "在HTML中与" - "不同在MySQL表中(即使它们看起来相同)。我通过删除/替换破折号的每一个出现来重新编码HTML,一切正常!