【问题标题】:check that if email exists in data base or not [duplicate]检查电子邮件是否存在于数据库中[重复]
【发布时间】:2019-06-29 13:52:17
【问题描述】:

如果 Gmail 不存在,我想将用户添加到数据库此方法从 android 应用程序中提供 Gmail 和密码,你能帮我检查一下吗??

function addUser($gmail, $password){
$connection = mysqli_connect(DataBaseManager::HOST,DataBaseManager::USER,DataBaseManager::PASSWORD,DataBaseManager::DATABASENAME);

mysqli_set_charset($connection, "utf8");       
$sqlCommand = "INSERT INTO users(gmail , password )VALUES('$gmail','$password')";

if (mysqli_query($connection, $sqlCommand)) {
      return true;
} else {
      return false;
}

}

【问题讨论】:

  • 究竟是什么给您带来了麻烦?您实际上是否尝试过任何方法来实现这一点?
  • 不,我没有错误,它是真的......我现在只想用哪种方法搜索数据库以查找电子邮件是否存在
  • 您需要运行SELECT 查询。那里有很多 SQL 教程。这不是一个真正的“我如何编写一个简单的查询”的地方。 SO 适用于当您尝试过某些事情时,它会产生错误或意外结果。
  • 永远不要存储纯文本密码!请使用 PHP 的built-in functions 来处理密码安全问题。如果您使用的 PHP 版本低于 5.5,您可以使用 password_hash() compatibility pack在散列之前不需要escape passwords 或对它们使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。

标签: php mysql sql database android-studio


【解决方案1】:

您可以查询此信息以了解用户是否已注册。

SELECT gmail
FROM users
WHERE gmail = '$gmail'

如果你返回了 1 行,那么这个用户已经注册了。

一旦您找到该用户是否存在,您就可以使用INSERT 子句进行查询。

【讨论】:

  • @BabakRostami 和其他未来的读者请记住,这样做会在您的网站/应用程序中引入可能的竞争条件。理想情况下,您还应该在数据库中的列上添加一个唯一键以防止重复..
  • 我不明白你的评论达曼。您也可以建议编辑。答案很好,也许还有另一种回应方式,但不值得一票否决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-26
  • 2014-05-10
  • 1970-01-01
  • 2017-08-12
  • 2012-03-13
  • 1970-01-01
相关资源
最近更新 更多