-1

所以我整天都在研究不同的 PHP 脚本,所以我不知道这是否只是我的眼睛,我需要休息一下还是什么:但我写了一行连接到 MySQL 数据库,并检查用户名是否已经存在。但是,我收到的错误消息当然没有什么帮助(即使在搜索时,它们似乎也不适用于我正在处理的内容,或者根本没有显示任何内容。

错误一(在我投入或死亡之前(mysqli_error($myCon)):

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/icangame/public_html/dev/php/userRegister.php on line 40

错误二(在我输入 or die 语句之后):

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== `user`' at line 1

这个苹果的代码(如果你愿意,会发布更多,这是一个大文件。):

$checktherow = mysqli_query($myCon, "SELECT * FROM users WHERE `username` == `$realUsername`") or die(mysqli_error($myCon));
if (mysqli_num_rows($checktherow) == 0)
{
    mysqli_query($myCon, "INSERT INTO users (username, password, email) 
        VALUES ('$realUsername', '$realPassword', '$email')") or 
        die(mysqli_error($myCon));  
}

谢谢,蒂姆

4

5 回答 5

0

查询失败,因此它为 $checktherow 分配了一个“false”值。当你运行 mysqli_num_rows($checktherow) 时,它得到一个布尔值而不是它期望的 mysqli_result 对象

问题是您的查询,您有“SELECT * FROM users WHERE username== $realUsername”,但应该是“SELECT * FROM users WHERE username= $realUsername

于 2013-07-11T04:36:06.373 回答
0

当你想要一些特定的数据库时不要使用双等号,当你想在值之间进行比较时使用它:

将其更改为: username==$realUsername

这: username=$realUsername

于 2013-07-11T04:37:00.233 回答
0
$checktherow = mysqli_query($myCon, "SELECT * FROM users WHERE `username` == `$realUsername`") or die(mysqli_error($myCon));

应该

$checktherow = mysqli_query($myCon, "SELECT * FROM users WHERE `username` ='".$realUsername."'") or die(mysqli_error($myCon));
于 2013-07-11T04:37:50.803 回答
0

我觉得你需要休息

代替

$checktherow = mysqli_query($myCon, "SELECT * FROM users WHERE `username` == `$realUsername`") or die(mysqli_error($myCon));

$checktherow = mysqli_query($myCon, "SELECT * FROM users WHERE `username` = `{$realUsername}`") or die(mysqli_error($myCon));

注意==在您的查询中

这是 mysql 语法错误,所以$checktherow返回 false

于 2013-07-11T04:39:13.437 回答
0

在第一行放置一个=符号而不是。==喜欢这个 $checktherow = mysqli_query($myCon, "SELECT * FROM users WHERE用户名=$realUsername") or die(mysqli_error($myCon));

于 2013-07-11T04:40:02.747 回答