下面的代码中有两个查询,它们使用完全相同的$ data和$ username变量。第二个完美地在数据库中运行和更新。然而,第一个,总是返回NULL,并且我没有看到它的逻辑。状态行确实存在于数据库中,它实际上已设置且不能为NULL。 NULL甚至不是该单元格的选项,默认值设置为“未打开”。我错过了什么?
if (isset($_POST['ids'])) {
$data = $_POST['ids'];
$query = $db->prepare("SELECT status FROM email WHERE mailto=:username AND id=:id");
$query->bindValue(':username', $username);
$query->bindValue(':id', $data);
$query->execute();
$thestatus = $row['status'];
echo $thestatus;
$query = $db->prepare("UPDATE email SET status='opened' WHERE mailto=:username AND id=:id");
$query->bindValue(':username', $username);
$query->bindValue(':id', $data);
$query->execute();
}
答案 0 :(得分:2)
执行语句后,您需要执行$row = $query->fetch(PDO::FETCH_ASSOC);
以获取结果集行