Web サイトのログイン システムを作成しようとしています。これは私が持っているものです。
include('MYSQL_connect_userdata.php');
$query = "SELECT * FROM userinfo WHERE username = '$username' AND password = '$password' ";
$result = mysql_query($query) or die("cant find table");
$count2 = mysql_num_rows($result);
$resultarray = mysql_fetch_array($result);
echo "SELECT * FROM userinfo WHERE username = '$username' AND password = '$password' ";
MYSQL_connect_userdata.php は mysql サーバーに接続し、データベースを選択します。
echo "SELECT * FROM userinfo WHERE username = '$username' AND password = '$password' "; の出力を貼り付けると、
phpmyadmin は、探している行を返します。(ユーザー名とパスワードを含む)
何らかの理由で、入力が正しい値であっても mysql_num_rows($result) が 0 を返しています。入力は、php ファイルの先頭でこのように $_POST を使用して取得されます
$username = $_POST['username'];
$password = $_POST['password'];
「AND password = '$password'」を除外するようにクエリを変更すると、一部の場合、ページは意図したとおりに機能し、mysql_num_rows は 1 を返します。
何が起こっているのですか?私はphpが初めてなので、追加の説明をいただければ幸いです。ありがとう。