粘贴的MySQL Select语句返回空集,但手动选择效果良好


Pasted MySQL Select Statement Returns Empty Set, but Manual Select Works Fine

这一次有两个技术团队感到困惑。

我有一个HTML表单,它提交给一个PHP脚本,该脚本生成以下简单的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".$offset.",".$listinglimit.";")或die('不应连接:'.mysql_error());echo'd查询(也提交到MySQL):从住宅中选择*,其中sub_area_name='TJ–Trojan'和list_price<=99999999订单由"住宅","列表价格"ASC限制0,10;如果我将该查询粘贴到phpmyadmin中,结果是一个空集。但是如果我手动键入它,那么结果是返回行(应该是)

如果您的代码中有类似的东西

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

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

echo $query;

在我看来,如果它是一样的,它不可能因为通过php执行而失败。

首先,我非常感谢大家的快速和有用的回复。问题出在HTML代码中。出于某种原因,HTML中的"-"与MySQL表中的"—"不同(尽管它们看起来完全相同)。我通过删除/替换每一个破折号来重新编码HTML,一切都正常!