ユーザ名がすでにデータベースに存在するかどうかを確認しようとしていますが、苦労しています。私はエラーが言ってます:PHPの重複ユーザのチェックに関する問題
Call to a member function bind_param() on boolean in /var/www/public/firsttry/index.php
は、これは私がこれを実装しようとしている私のコードの一部です:
/*Check for duplicate in DB */
$stmt2 = $mysqli->prepare("SELECT username FROM Users (username, password) WHERE username = ?");
$stmt2->bind_param("s", $username);
$stmt2->execute();
$rows= mysqli_num_rows($stmt2);
if($rows>=1){
echo "<script type='text/javascript'>alert('This username is taken!')</script>";
}
else{
/*Proceed*/
}
をあなたが最初に見ることができるように、私は準備された文を書いて、バインドしよう値は$username
($_POST["username"])
に割り当てられます。私はクエリを実行し、影響を受ける行が返される回数を調べようとします.1以上であればアラートをスローし、それ以外の場合はユーザーが登録できます。 私はちょっと小さな間違いだとはかなり確信していますが、私はちょっとPHPに慣れていますので、私に同行してください。 SELECT
ステートメントがfalseを返している可能性がありますが、なぜ私はbind_param
ブール値にしようとしていると文句を言うのですか?
これは有効なSELECTステートメントではないため、準備が失敗しています。 –
@JonStirling素早くお答えいただきありがとうございます。多分、何が間違っているか教えていただけますか? – Viktor
私はそこにあるすべてのSQLチュートリアルが、おそらく最初のページにある基本的なSELECT文の正しい構文を示していると思います。 –