【问题标题】:mysql_query returns nothing, but works manually with åæømysql_query 不返回任何内容,但可以手动使用 åæø
【发布时间】:2014-07-25 21:59:52
【问题描述】:

我在 MySQL 中的查询有一些问题。

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

与 MySQL 的连接也设置为

mysql_set_charset("utf8", $conn);

我的数据库使用 utf8_general_ci

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

例如

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 在我使用 æøå 等特殊字符时不返回任何内容,但在我不使用 æøå 时有效。

【问题讨论】:

标签: php mysql utf-8


【解决方案1】:

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

可以在MySQL Documentation找到更多信息

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

这仍然不是一个合适的解决方案。 Mark Ba​​ker 给你的评论是一个更好的想法和做事方式。

还应该指出的是,mysql_* 函数现在已被贬值,强烈建议您停止使用它们。查看 PHP 必须提供的 MySQLi Functions 或查找另一个 PDO 样式函数。

【讨论】:

    猜你喜欢
    • 2010-09-17
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多