【问题标题】:How can I include characters like "@" or "." in a MySQL table? [closed]如何包含诸如“@”或“。”之类的字符在 MySQL 表中? [关闭]
【发布时间】:2026-01-13 20:40:01
【问题描述】:

当用户注册网站并在用户名中包含空格、句点或 @ 时,这似乎会产生问题。如何包含这些字符?

【问题讨论】:

  • “它似乎制造问题”是什么意思?
  • 嗨皮特,如果您想得到答案,您需要提供更多信息。拿一些你的标签,在你的文字中解释你想做什么
  • 显示一些代码和你的数据库架构。
  • 你为什么要这样做?有什么意义?
  • 我认为你们对这个有点疯狂,哈哈。他只是一个16岁的孩子。一两次反对票和关闭就足够了。另外,他确实接受并投票(尽管他可以对此进行改进)。

标签: php mysql database wildcard


【解决方案1】:

MySQL 不会关心用户名或密码中的字符,除非您没有正确构建查询:

$password = $_POST['password'];
$username = $_POST['username'];

$quoted_pass = mysql_real_escape_string($password);
$quoted_user = mysql_real_escape_string($username);

$sql = "INSERT INTO users (username, password) VALUES ('$quoted_pass', '$quoted_user');
$result = mysql_query($sql) or die(mysql_error());

if (mysql_affected_rows($result) != 1) {
   die("User record not created");
}

【讨论】:

  • 谢谢,这就是我需要知道的。