mysql_query什么都不返回,但是用åæø手动工作

时间:2014-07-25 21:59:53

标签: php mysql utf-8

我在MySQL中遇到一些查询问题。

我使用了我在标题中设置的字符集UTF-8。  

与MySQL的连接也是用

设置的

mysql_set_charset(“utf8”,$ conn);

我的数据库使用utf8_general_ci

当我回显我的查询并手动将其插入phpMyAdmin时,它可以正常工作。

e.g。

SELECT `project_number` FROM `1` WHERE `project_name`='æøå'

但是当我插入此查询时

$row = mysql_fetch_assoc(mysql_query("SELECT `project_number` FROM `$user_id` WHERE `project_name`='$project_name'"));
$project_number = $row['project_number'];
当我使用像æøå这样的特殊字符时,

project_number什么都不返回,但是当我不使用æøå时它会起作用。

1 个答案:

答案 0 :(得分:0)

你真的不应该使用数值作为表名。

有关详细信息,请参阅MySQL Documentation

如果您确实需要使用数字表名称,那么您必须使用标识符引用。无论如何,我建议根据您当前的示例创建一个名为user_1的表,其中1是该用户的ID。

这仍然不是一个合适的解决方案。马克贝克给你的评论是一个更好的想法和做事方式。

还应该指出,mysql_*功能现在已经过折旧,强烈建议您停止使用它们。查看PHP必须提供的MySQLi Functions或找到另一个PDO样式函数。