-2

データベース内にユーザーが存在するかどうかを確認するために、いくつかの行を作成しています。これを行うには、DB でユーザー名を検索し、データベースにその名前のユーザーが存在する場合は、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

また、mysqli_query() ではなく、mysql_query および mysql_num_rows() で試すこともできます。

于 2013-09-07T18:37:30.837 に答える