0
    $username = $_POST['username'];
    $password = $_POST['password'];
    $passworda = $_POST['passworda'];
    $email = $_POST['email'];

    if ($password == $passworda){
        echo 'this is the user name to be chacked:' .$username .'<br>';
        $query = "SELECT username FROM mishta where username=$username";
        $queryrun = mysql_query($query);
        echo $queryrun .'<br>';
        echo mysql_num_rows($queryrun) .'<br>';

        if (mysql_num_rows($queryrun)!=1){
            mysql_query("INSERT INTO mishta(id, username, password, email) VALUES ('', '$username','$password','$email')");
        }   
        else{
            echo 'user already exist';
        }

你好呀,

我正在尝试制作一个简单的注册表单,我从 html 表单中获取用户名,并且我想确保它不存在于我的数据库中。问题是,每当我将用户名作为数字 (1,2,3...) 运行时,它都会顺利运行。

但是,当我尝试用字母写任何东西时,比如 Bob 或 Dora,我收到以下错误:

警告:mysql_num_rows() 期望参数 1 是资源,布尔值在...

然而,信息仍然存储在我的数据库中,这意味着它在最后一个 if 语句中为假,并且它将继续为假(如果我再试一次,它只会插入重复项)。

任何帮助,将不胜感激。

4

1 回答 1

0

您忘记了用户名周围的引号:

$query = "SELECT username FROM mishta where username='$username'"

引号用作字符串分隔符。数字不是字符串,如果您使用数字,它就可以工作。

于 2013-03-28T18:10:11.110 回答