【问题标题】:Validation of an existing user现有用户的验证
【发布时间】:2015-08-26 10:23:48
【问题描述】:

我在验证数据库中的现有用户时遇到问题。我使用 PHP 进行编程。
我的方法代码如下:

public function isRegistry(){
    $isUser = $this->dbHandler->prepare("SELECT * FROM `users` WHERE `nickname` = BINARY :nickname");
    $isUser->bindValue(':nickname', $this->nickname, PDO::PARAM_STR);
    if($isUser->execute() == false) {
        print_r($isUser->errorInfo());
        return false;
    } else {
        return $isUser->fetchAll(PDO::FETCH_ASSOC);
    }
    return true;
}

我想知道如何检查用户是否存在于数据库中。

【问题讨论】:

  • 附带说明,return true; 是无法访问的代码
  • 为什么这是无法访问的代码?因为在最后的return true 之前的if 语句的两边都有returns
  • 最后一个 return true 在该代码中根本没用:您可以安全地删除它,但这并不能解决您的主要问题

标签: php oop pdo


【解决方案1】:
public function isRegistered($nickname){
    $sql = "SELECT 1 FROM `users` WHERE `nickname` = BINARY ?";
    $stmt = $this->dbHandler->prepare($sql);
    $stmt->execute(array($nickname));
    return $stmt->fetchColumn();
}

【讨论】:

    【解决方案2】:

    使用 PDO::fetchColumn()

    查看this 链接(示例2)了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 2021-06-01
      • 2019-08-26
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多