MYSQL检查数据库中是否已经存在用户名

时间:2019-05-13 10:38:10

标签: php mysql database

我的代码正在运行,但是在插入查询以检查MYSQL数据库中的名字是否已存在后,它不再起作用。在这里您可以看到我的代码,如果您对如何完成这项工作有任何建议,我将不胜感激。非常感谢你!

我尝试使用mysql_num_rows命令,但似乎我没有正确使用它。

<?php 

require_once __DIR__.'/connect.php';

$sName = $_POST['txtName'];

$query = mysql_query("SELECT * FROM users WHERE firstName = '$sName' ");
if (mysql_num_rows ($query) > 0){
    echo 'User with this name already exists';
}else{
    try {
        $stmt = $db->prepare('INSERT INTO users
    VALUES (null, :sName, :sLastName, :sEmail, :sCountry )');
        $stmt->bindValue(':sName', $sName);

        $stmt->execute();
        echo 'New user was successfully inserted';
    } catch (PDOEXception $ex) {
        echo $ex;
    }
}

1 个答案:

答案 0 :(得分:3)

(根据正在运行的其余代码)连接mysql_query时,您尝试使用PDO。更改查询以使用现有连接:

try {
    $stmt = $db->prepare("SELECT COUNT(*) FROM users WHERE firstName = :sName");
    $stmt->bindValue(':sName', $sName);
    $stmt->execute();
    $num_rows = $stmt->fetchColumn();
}
catch (PDOEXception $ex) {
    echo $ex;
}
if ($num_rows > 0) {
    echo 'User with this name already exists';
}
else {
    // the rest of your code here