我在运行应用程序时在php中收到警告
HTML code:
<a href="cart.html" class="dropdown-toggle" data-toggle="dropdown"><span> <?php if($a==true) { ?><?php echo $d->n; ?> <?php } ?></span></a>
PHP代码:
$q=$mysqli->query("select object from object_store where Email='$email' ");
$r=$q->fetch_assoc();
$d=unserialize($r['object']);
if(!is_null($d))
{
$a=true;
}
else
{
$a=false;
}
警告无法调用非对象上的成员函数。我知道,起初$ d的值是NULL但是使用$一个变量进行检查仍然会执行$ d的代码块。请建议一种删除此警告的方法。
答案 0 :(得分:1)
我认为这段代码:
$d=unserialize($r['object']);
if(!is_null($d))
始终为true
,因为unserialize
不会返回null
。
尝试:if($d != false)
或if(is_array($d))