考虑以下代码:
$conn = new PDO("connection string", "user name", "password");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT `id` FROM `users` WHERE `displayname` = :displayname";
$parms = array(':displayname' => 'Test');
$stmt = $conn->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$stmt->execute($parms);
$res = $stmt->fetch();
echo $res == null;
更具体地考虑这一行:echo ($res == null);
如果数据库中没有与 匹配的行,则echo
显示值1
-as expected -因为$res
is in fact null
。但是,如果有结果返回,$stmt->fetch();
则echo
什么也不会产生。但是,我原以为它会产生 a 0
,因为 的值$res
是一个数组。
如何始终如一地简洁地比较结果以简单地确定是否有结果?