-1

だから私は一日中さまざまなPHPスクリプトに取り組んでいるので、それが私の目だけで休憩が必要なのかどうかはわかりませんが、MySQLデータベースに接続する行を書き、ユーザー名が既に存在するかどうかを確認します. ただし、もちろん、役に立たないエラーメッセージが表示されます(検索しても、私が取り組んでいるものには当てはまらないか、単に何も表示されないようです.

エラー 1 (入れたり死ぬ前に (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

エラー 2 (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 = 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構文エラーだったので、$checktherowfalseを返しています

于 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 に答える
0

データベースから特定のものが必要な場合は二重等号を使用しないでください。値を比較したい場合は使用してください。

これを次のように変更します: username==$realUsername

これ: username=$realUsername

于 2013-07-11T04:37:00.233 に答える
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 に答える