以前は動作していたログインスクリプトがありましたが、以前は動作していたものもあります。SQLはphpMyAdminで動作しますが、Webページスクリプトの行数が正しくありません
SQLは常にphpMyAdminで動作しますが、一部のユーザーのWebページでは常にゼロの行が返されます。
$query_str = 'SELECT id, username, level_access, active FROM users WHERE username = "';
$query_str .= mysql_real_escape_string($uname).'"';
$query_str .= ' AND password = "'.mysql_real_escape_string($pwd).'"';
echo $query_str. "<br/>";
$result = mysql_query($query_str);
$num_result = mysql_num_rows($result);
echo $num_result. "<br/>";
私は任意のバリエーションをテストし、かなりの時間を費やして、私は考えることができ組み合わせは、私は引用符を再び追加、変数名を変更し、他の変数を挿入し、式を簡素化:ここに問題があるコードがあります。それぞれの変更はphpMyAdminで出力されたクエリ文をテストしました。他のユーザーを追加し、ユーザーを削除して再作成しました。アクセスレベルとユーザー名を変更しました。
常に私は同じ結果を得た、一部のユーザーのログインは、常に私は、次のSQLを作成したように、最後に私はどこ文を削除彼らはphpMyAdminの
で返されていても、それは常に行を戻さない他人のために働きますステートメント:
私のWebページでは、これは何人のユーザーがいても、常に8行を返します。ユーザーが8人、9人、または10人の場合、8行が返されます。私は8人以下のユーザーがいるようにユーザーを削除しましたが、WebページのphpMyAdminに8行も戻ってきましたが、毎回正しい番号が返されます。
明らかに問題はコードではないようです。これは私の専門知識を超えています。この問題の原因は何か、どのように解決すればよいのでしょうか?
あなたのPHPコードとphpmyadminは同じデータベースを参照していますか? –
データは正しいですか?場合によっては、1つの値が誤っているような微妙なものは、結果全体を投げ捨てることがあります。また、PhpMyAdmin _や_ MySQL Work BenchなどのさまざまなDBツールを使用してみてください。 –