Есть ли у вас какие-либо идеи о том, что вызывает предупреждение об этом простом бите кода?Предупреждение MySQL, предложение WHERE
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 \ Регистрация \ включает \ login.php on line 36
Другая проблема, которая касается моего запроса. В основном у меня есть форма входа в систему с тремя входами: одна для имени пользователя, одна для электронной почты, другая для пароля. Я хочу, чтобы пользователь мог войти в систему с его именем пользователя или паролем. Однако запрос выглядит своего рода странно для меня, и мне интересно, если она будет работать, как и следовало ожидать, так как окончательный запрос закончится чем-то вроде этого:
SELECT id FROM users WHERE email = '[email protected]' OR username = ''
или наоборот. Я предполагаю, что этот запрос не является полностью функциональным. Я открыт для предложений, если у вас есть.
$ id - это то же самое, что и $ row_cookie atm, потому что $ id будет хэшироваться. Было бы хорошо, если бы я сделал простой $id = sha1(md5($row_cookie));
?
Я знаю, что MySQL обесценивается. Я скоро перейду на MySQLi, поэтому не стоит беспокоиться.
Как вы можете видеть, на самом деле есть три вопроса. Если это проблема, сообщите мне, прежде чем опуститься, чтобы я мог изменить свой вопрос. Благодаря!
change $ id = $ row_cookie [id]; вместо $ id = $ row_cookie; – Guru
[Не используйте mysql_ * extension] (http://www.php.net/en/mysql_query), поскольку они устарели. Вместо этого используйте [PDO] (http://php.net/manual/en/book.pdo.php) или [MSQLi] (http://php.net/manual/en/book.mysqli.php). –
_ «Я скоро перейду на MySQLi, поэтому не стоит беспокоиться». Тот факт, что вы все еще используете устаревшее (и небезопасное) расширение _is_ a worry. –