-2

重複の可能性:
mysql_fetch_array() は、パラメーター 1 がリソースであると想定しており、select でブール値が指定されています

みなさん、こんにちは。前回の問題と同じように、この問題を解決できることを願っています。私はphpでユーザー登録をしようとしていますが、これを除いてすべて良いことをしています:

     Warning: mysql_result(): supplied argument is not a valid 
     MySQL result resource in 

最初にサニタイズ機能を実行しようとしましたが、うまくいきませんでした。これが私の最初の試みです

    function user_exists ($username){
    $username = sanitize ($username);
    return (mysql_result(mysql_query("SELECT COUNT('id') FROM 'members' WHERE 
    'username' = '$username' "), 0) == 1) ? true : false;
    }

次に、mysql_real_escape_string を試してみることができましたが、その mysql_result エラーが発生し、何が間違っているのかがわからないため、気が狂いそうになりました。mysql_real_escape_string を使用したコードは次のとおりです。

     function user_exists ($username){
     $username = mysql_real_escape_string ($username);
     return (mysql_result(mysql_query("SELECT COUNT('id') FROM 'members' WHERE 
     'username' = '$username' "), 0) == 1) ? true : false;
     }

間違いから学ぶことができるように、誰かがどこで間違ったのか教えてくれることを願っています. 皆さん、ありがとうございました!!!

4

1 に答える 1

0

問題は、テーブル名と列名を一重引用符で囲んでいることです。これらの名前は MySQL 予約済みキーワード リストにないため、削除する必要があり、エスケープする適切な方法はバッククォートを使用することです。

SELECT COUNT(id) 
FROM members 
WHERE username = '$username'
于 2013-01-31T14:02:48.883 に答える