我在php中使用了static method
的简单类,检查记录是否存在然后返回记录,否则返回false
class db{
public static function isRecord($q,$parameters){
$a=self::getinstance()->prepare($q);
$a->execute($parameters);
$r=$a->fetch(PDO::FETCH_NUM);
if($r[0]) return $r[0];
if(!$r[0] || $r[0]==0 ) return false;
}
}
使用
$e=db::isRecord("SELECT itemdesc FROM temptable WHERE invuser=? ",array($invuser));
按预期返回$e
。
但如果我使用像这样的简单功能
function canEnterincart(){
return db::isRecord("SELECT itemdesc FROM temptable WHERE invuser=? ",array($invuser));
}
即使记录存在, var_dump(canEnterincart())
也始终返回false
。
代码有问题吗?
答案 0 :(得分:0)
您应该将变量作为方法的参数传递,如下所示:
function canEnterincart($invuser){
return db::isRecord("SELECT itemdesc FROM temptable WHERE invuser=? ",array($invuser));
}