我有一张表记录了已经给出测试的用户的记录。因为我希望用户只尝试一次测试,所以首先我检查他是否已经允许他进行测试。
Test_Attempted
-------------------------------
User_id | Name
-------------------------------
现在我正在使用以下查询
select exists(select user_id from Test_Attempted where user_id=45) as present
但由于id 45
已经存在,因此会返回
+---------+
| present |
+---------+
| 1 |
+---------+
现在我很困惑如何在if-else
中使用它(使用PDO)
if(present)
echo "You have given test";
else
echo "Take test";
我是否需要使用while循环遍历行,即使返回的行是单个?
答案 0 :(得分:1)
不,如果你知道那里总是只有一行,你就不需要一个while循环。在我看来,这应该是直观明显的,但几乎没有一天我没有看到一个包含已知单行的while循环的问题。
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row['present']) {
echo "You have given test";
} else {
echo "Take test";
}