-2

我正在创建几行来检查数据库中是否存在用户。为此,我打算只在数据库中找到用户名,如果数据库中存在具有该名称的用户,请使用 num_rows 使其显示他们是具有该名称的用户。

错误是:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, 
boolean given in /home/bluef/public_html/SMNS/register.php on line 36

代码:

$usernamef = mysqli_query($link, "SELECT * FROM Users 
                                 WHERE Username =".$Username."");

$usernamefound = mysqli_num_rows($usernamef);

if($usernamefound != 0){
    echo "Username in use, try another username?";
}
4

2 回答 2

1
  • 之前总是有这条线mysqli_connect

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    
  • 始终正确格式化您的查询。
  • 当您需要将变量插入查询时,请始终使用准备好的语句。
  • 请务必查看页面上的“相关问题”部分(或在编写您自己的问题时提出建议的问题)。
于 2013-09-07T18:31:14.510 回答
-1

用你的查询试试这个

$usernamef = mysqli_query($link, "SELECT * FROM Users 
                                 WHERE Username =".$Username."") or die(mysqli_error());

查看错误。你也可以试试这个

 $usernamef = mysqli_query($link, "SELECT COUNT(*) AS myCount FROM Users 
                                     WHERE Username =".$Username."") or die(mysqli_error());

$row = mysqli_fetch_array($usernamef)
if( $row['myCount '] > 0 )
{
  echo "Username in use, try another username?";
}

检查此链接http://www.w3schools.com/php/func_mysqli_error.asp

您也可以尝试使用 mysql_query 和 mysql_num_rows() 而不是 mysqli_query()

于 2013-09-07T18:37:30.837 回答