用户会话中有一个电子邮件地址,我正在尝试使用提取的信息从数据库访问用户的其他相关信息。这就是我所拥有的。
$author = explode(":", $_SESSION['user_id']);
$query = mysql_query("SELECT * FROM users WHERE `active`='1' AND `email`=$author[1]");
while ($query_row = mysql_fetch_assoc($query)) {
// does stuff in here.
}
由于某种原因我回来了“mysql_fetch_assoc()期望参数1是资源,给定布尔值。” 如果我回应“$ author ['1']”我收到登录用户的正确电子邮件地址。我该怎么走 关于正确编写查询?
答案 0 :(得分:1)
你应该把:
" SELECT * FROM users WHERE
active
=' 1'和
确保你有推荐人报价
答案 1 :(得分:0)
$qry ="SELECT * FROM users WHERE `active`='1' AND `email`= ".$author['1'];
$query = mysql_query($qry);
答案 2 :(得分:0)
$query = mysql_query("SELECT * FROM users WHERE `active`='1' AND `email`='".$author[1]."'");
答案 3 :(得分:0)
您可以使用大括号将变量括在引号中:
$query = mysql_query("SELECT * FROM users WHERE `active`='1' AND `email`={$author[1]}");
虽然我还有一个提示: 像这样运行查询: $ query = mysql_query('...')或die(mysql_error()); 有了这个,你至少会知道它失败的原因。
P.S。我猜你有理由使用mysql扩展,但无论如何你应该使用PDO或mysqli而不是mysql。您可以使用mysqli获取占位符,或使用PDO命名参数。更好的工作。