粘贴的MySQL Select语句返回空集,但手动选择工作正常

时间:2014-09-03 06:49:29

标签: php mysql

这个有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中,则结果为空集。但是如果我手动输入它,那么结果就是返回的行(应该是这样)

2 个答案:

答案 0 :(得分:1)

假设你的代码里面有类似

的内容
...
$query = "SELECT * FROM table WHERE parameter='$param'";
...

只需回显var $查询,确保它与您手动运行的查询确实相同

echo $query;

在我看来,如果它是相同的,它不会因为它是通过php执行而失败。

答案 1 :(得分:0)

首先,我不能感谢每个人的快速和有益的回复。问题出在HTML代码中。出于某种原因," - "在HTML中与" - "不同在MySQL表中(即使它们看起来相同)。我通过删除/替换破折号的每一个出现来重新编码HTML,一切正常!