您知道是什么导致了这段简单代码上的警告消息吗?
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 是资源,布尔值在第 36 行的 C:\xampp\htdocs\Signup\includes\login.php 中给出
我遇到的另一个问题与我的查询有关。基本上我有一个包含三个输入的登录表单:一个用于用户名,一个用于电子邮件,一个用于密码。我希望用户能够使用他的用户名或密码登录。然而,这个查询对我来说有点奇怪,我想知道它是否会按预期工作,因为最终查询将以这样的方式结束:
SELECT id FROM users WHERE email = 'user@host.com' OR username = ''
或相反。我猜这个查询功能不全。如果您有任何建议,我愿意接受。
$id 与 $row_cookie atm 相同,因为 $id 将被散列。如果我做一个简单的可以$id = sha1(md5($row_cookie));
吗?
我知道 MySQL 已经贬值了。我会尽快切换到 MySQLi,所以不用担心。
如您所见,实际上有三个问题。如果这是一个问题,请在降级之前让我知道,以便我可以编辑我的问题。谢谢!