SQL查询在PHP中返回空结果 - 同一查询在PHPMyAdmin中返回结果

时间:2015-11-19 02:45:25

标签: php mysql sql

我有一个网页,使用PHP执行多个MySQL查询并返回结果。 一个查询包含一个特殊字符 - Î - 如... WHERE region="Île-de-France" ...当由PHP执行时,此查询成功执行但返回空结果集时应返回结果。在尝试调试时,我在保存sql查询的$ sql变量上使用了echo(就在它执行之前)并将结果复制到PHPMyAdmin中。这里相同的查询返回了我期待的结果。

为什么这个查询在PHP执行时什么都不返回?

我根据我不太了解的信息尝试的事情:

我在执行查询之前使用了$sql=$db->real_escape_string($sql)。这将$ sql的相关部分更改为...WHERE region=\"Île-de-France\" ...并在执行查询时导致错误。

我也试过if($state){$sql=$sql." AND state ='".$db->real_escape_string($state)."'";}。查询现在已成功执行但未产生任何结果。

1 个答案:

答案 0 :(得分:2)

听起来您正在使用的数据库连接具有不同的字符编码,我会检查默认编码并尝试显式设置。