【问题标题】:PHP Checking if user exists with PDO [duplicate]PHP使用PDO检查用户是否存在[重复]
【发布时间】:2016-01-14 13:52:12
【问题描述】:

我正在设置一个函数来检查传递的用户名是否存在于我的数据库中的users 表中。为此,我使用以下代码:

function usernameCheck($username) {
    $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
    $stmt = $con->prepare("SELECT username FROM users WHERE username = ':name'");
    $stmt->bindParam(':name', $username);
    $stmt->execute();

    if($stmt->rowCount() > 0){
        echo "exists!";
    } else {
        echo "non existant";
    }
}

但是,无论我尝试将什么设置为$username,我都无法返回任何exists!。我尝试更改它以检查其他列,例如userID,但它仍然不起作用。我认为我的语法是正确的,但我是 PDO 的新手,所以我可能遗漏了一些容易修复的东西。

谢谢。

【问题讨论】:

    标签: php mysql pdo


    【解决方案1】:

    你不需要转义。

    $stmt = $con->prepare("SELECT username FROM users WHERE username = :name");
    

    :name 不带任何引号应该可以解决问题。 PDO 库已经为您完成了转义。

    【讨论】:

      【解决方案2】:

      试试下面的 SQL 查询

      $query="SELECT username FROM users WHERE username = 'name'";
      $query_res =   $con->query($query);
      $count= count($query_res->fetchAll());
      if($count > 0){
       //user exists
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 2015-03-04
        • 2012-12-12
        • 1970-01-01
        • 2012-08-12
        • 1970-01-01
        相关资源
        最近更新 更多