我在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什么都不返回,但是当我不使用æøå时它会起作用。
答案 0 :(得分:0)
你真的不应该使用数值作为表名。
有关详细信息,请参阅MySQL Documentation
如果您确实需要使用数字表名称,那么您必须使用标识符引用。无论如何,我建议根据您当前的示例创建一个名为user_1
的表,其中1是该用户的ID。
这仍然不是一个合适的解决方案。马克贝克给你的评论是一个更好的想法和做事方式。
还应该指出,mysql_*
功能现在已经过折旧,强烈建议您停止使用它们。查看PHP必须提供的MySQLi Functions或找到另一个PDO
样式函数。