我有一个表格来记录进行测试的用户。由于我只希望用户尝试一次测试,因此在允许他参加测试之前,我先检查他是否给出了测试。

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循环遍历行?

最佳答案

不,如果您知道总是只有一行,则不需要while循环。在我看来,这在直观上应该是显而易见的,但是几乎没有一天,我没有看到包含已知单行的while循环的问题。

$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row['present']) {
    echo "You have given test";
} else {
    echo "Take test";
}

关于php - 使用Mysql查找表中是否存在ID EXISTS PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21498757/

10-16 11:26
查看更多