检查表中有PHP PDO问题的条目


Checking entry in a table with PHP PDO issue

我想测试一个特定UID和MID的条目是否存在于表user_saved中,下面是我所做的

$result = $db->prepare("SELECT * FROM user_saved WHERE UID = ? AND MID = ?");   
          $result->execute(array($_SESSION['uid'], $itemId['MID2']));
          $test = $result->fetch(PDO::FETCH_ASSOC); 
                if (isset($test)){
        exist
      } else {
                    doesn't exist
              }

问题是我尝试了一个不存在的UID和MID,但它总是进入isset if语句,为什么会这样?有什么更好的方法吗?

isset检查变量是否存在使用strlen函数或数组计数函数

<?php
$bbnq = sprintf("SELECT login
FROM users
WHERE id = %u",27);
try
    { $req = $db_bbn->query($bbnq); }
catch (Exception $e)
    { bbnf_pdo_error($e,__FILE__,__LINE__); }
if ( $r = $req->fetch() )
    { echo "This query has a row result"; }
else
    { echo "This query has an empty result"; }
?>

fetch在失败时返回FALSE:

if ($test !== FALSE) // ...