PHP检查用户是否存在PDO

Joh*_*ohn 2 php mysql pdo

我正在设置一个函数,以检查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";
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,无论我尝试什么设置$username,我都无法得到任何exists!回报.我已经尝试改变它来检查一个额外的列,比如userID,但它仍然不起作用.我认为我的语法是正确的,但我是PDO的新手,所以我可能错过了一些容易修复的东西.

谢谢.

Atm*_*ons 11

你不需要逃脱.

$stmt = $con->prepare("SELECT username FROM users WHERE username = :name");
Run Code Online (Sandbox Code Playgroud)

:name没有任何引号的写作应该可以解决问题.PDO库已经为您进行了转发.