この単純なコードで警告メッセージが表示される原因は何か分かりますか?
if(isset($_POST['remember']))
{
$query_cookie = ("SELECT id FROM users WHERE email = '$email' OR username = '$username'");
$result_cookie = mysql_query($query);
$row_cookie = mysql_fetch_array($result_cookie); // LINE 36
$id = $row_cookie; // Will be hashed before using
setcookie( "Remember", $id, strtotime( '+30 days' ) );
echo $id;
}
これが私が得たエラーです:
警告: mysql_fetch_array() は、パラメーター 1 がリソースであると想定し、ブール値は C:\xampp\htdocs\Signup\includes\login.php 行 36 で指定されます
私が抱えているもう1つの問題は、クエリに関するものです。基本的に、ユーザー名用、電子メール用、パスワード用の 3 つの入力を持つログイン フォームがあります。ユーザーが自分のユーザー名またはパスワードでログインできるようにしたい。ただし、クエリは私にはちょっと奇妙に見えます。最終的なクエリは次のように終わるため、期待どおりに機能するかどうか疑問に思います。
SELECT id FROM users WHERE email = 'user@host.com' OR username = ''
またはその逆。このクエリは完全には機能していないと思います。何か提案があれば、私は開いています。
$id はハッシュされるため、$id は $row_cookie atm と同じです。簡単にすれば$id = sha1(md5($row_cookie));
よろしいでしょうか?
MySQLが減価償却されていることは知っています。すぐに MySQLi に切り替えるので、心配はいりません。
ご覧のとおり、実際には 3 つの質問があります。それが問題である場合は、質問を編集できるように、評価を下げる前にお知らせください。ありがとう!