PHP-返回另一列数据的数据库列数据查询
我正在为一个学校项目编写一个基本的PHP登录系统,目前我正在尝试实现电子邮件激活。下面是我的代码片段PHP-返回另一列数据的数据库列数据查询,php,mysql,database,Php,Mysql,Database,我正在为一个学校项目编写一个基本的PHP登录系统,目前我正在尝试实现电子邮件激活。下面是我的代码片段 $query = " SELECT id, username, password, salt, email useractivestatus FROM users WHERE
$query = "
SELECT
id,
username,
password,
salt,
email
useractivestatus
FROM users
WHERE
username = :username
";
// The parameter values
$parameters = array(
':username' => $_POST['username']
);
try
{
// Execute the query against the database
$stmt = $db->prepare($query);
$result = $stmt->execute($parameters);
}
catch(PDOException $err)
{
die("Failed to run query: " . $err->getMessage());
}
$row = $stmt->fetch();
if($row)
{
if($active != $row['useractivestatus'] );
{
die("Account has not been activated");
}
问题在于使用var_dump$row['useractivestatus'],我可以看到它总是从email列返回数据,导致查询总是返回false并触发die响应。我可以执行var_dump$row['任何其他列'],它返回正确的数据。为什么在查询useractivestatus列时it会返回电子邮件?您的查询中缺少一个逗号,因为这样的电子邮件实际上别名为useractivestatus,尝试从电子邮件列中进行选择将失败
$query = "
SELECT
id,
username,
password,
salt,
email, -- this comma was missing
useractivestatus
FROM users
WHERE
username = :username
发生在我们所有人身上,快乐编码:)