我有一段代码(不包括与DB的连接):
$query = "SELECT ....... WHERE name='name1'";
echo $query;
$result = mysql_query($query);
当我运行脚本时,mysql_num_rows($result)
表示找到了0行。我将$query
从浏览器复制到Heidi,运行它,找到1行(如预期的那样)。然后我将$query
从浏览器直接复制到mysql_query
,运行脚本,找到1行。
如果我将name1
更改为其他条目,则脚本运行良好!问题名称的示例没有特殊字符:Uniwersalna praline Бордюр 2,3x60
它是Windows-1251编码。脚本和数据库都在其中编码。
为什么mysql_query
无法找到该行?即便是我们的领导者也无法帮助我......
更新:将所有内容移至mysqli_*
- 结果相同。
答案 0 :(得分:0)
我从外部文件中获取name
。在文本编辑器和浏览器中(甚至在源代码查看器中)space
字符看起来正常,但实际上它们是一些其他特殊字符。它们通常在浏览器的源代码查看器中呈现,这就是查询在Heidi中正确执行的原因。