当前位置: 首页 > 知识库问答 >
问题:

PHP检查用户是否存在PDO[重复]

汤枫
2023-03-14

我正在设置一个函数,以检查传递的用户名是否存在于我数据库的user表中。为了做到这一点,我使用了以下代码:

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,我都无法获得任何存在 返回。我试着对其进行更改,以检查是否有额外的列,比如userID,但它仍然不起作用。我认为我的语法是正确的,但我是PDO新手,所以我可能缺少一些容易修复的东西。

非常感谢。


共有2个答案

郭坚壁
2023-03-14

尝试下面的SQL查询

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

你不需要逃跑。

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

:不加任何引号的name就可以了。PDO库已经为你做了转义。

 类似资料:
  • 问题内容: 我想要一个条件,以防该行根本不存在。 尝试过,但没有一个起作用。 问题答案: 您可以直接检查返回值。 如果您询问是否进行检查 而不进行获取, 则只需让MySQL返回a (或使用命令)。

  • 我想检查一个用户名是否已经存在于我的数据库中。如果是的话,我想重定向回我的注册页面。我的代码可以添加用户名,但不检查用户名是否存在。请救命!!!这是register.php页面的代码。代码完全跳过对'username'的检查,并将其插入到数据库中(如果它存在或不存在)。

  • 在我的应用程序中,我有一个适用于多个用户的通用查询。在某些情况下,用户之间的表结构可能不同。我有一个查询,我只想应用于列存在于表中的用户。

  • 我有麻烦让我的代码工作。当用户输入用户名时,它会检查数据库,看看它是否存在,以及它是否设置了

  • 问题内容: 这可能是一件容易的事,但是我是一个业余爱好者,事情对我来说并不奏效。 我只想检查$ lectureName显示的行是否存在。如果某行确实存在$ lectureName,我希望该函数返回“ assigned”(如果没有),则它应返回“ available”。这就是我所拥有的。我相当确定这是一团糟。请帮忙。 当我这样做时,所有返回的内容都是可用的,即使应该返回已分配的内容。 问题答案: 这

  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: MySQL检查表是否存在而不会引发异常 我的项目中有一个动态mysql查询生成器,可从不同的表创建选择查询。 我需要检查当前处理表是否存在。 假设我的表是table1,table2和table3。我的代码是这样的: 我该如何进行检查(请告诉我最简单的方法)。 问题答案: 更新的mysqli版本: 原始mysql版本: 从PHP