我想测试一个特定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) // ...