繁体   English   中英

PHP:注意:未定义的属性:stdClass ::

[英]PHP : Notice: Undefined property: stdClass::

我从一个名为properties的表中获取json数据。 列名是attr,它有大小,卧室和道具类型。

  $q= mysqli_query($connect,"SELECT * FROM properties");
    $savemyval = array();
    while($row= mysqli_fetch_assoc($q)){
        $data = json_decode($row['attr']);
          //var_dump($data);
          if($proptpe == $data->proptype){
                $savemyval[] = $row['id'];

            }
  }

查询上面的数据,如果我var_dump这是我得到的

object(stdClass)[3]
  public 'bedrooms' => string '5' (length=1)
  public 'proptype' => string 'residential' (length=11)
object(stdClass)[4]
  public 'bedrooms' => string '4' (length=1)
  public 'proptype' => string 'commercial' (length=10)
object(stdClass)[3]
  public 'size' => string '16000' (length=5)
  public 'prop-type' => string 'commercial' (length=10)

在var_dump中,我得到了正确的数据,但是当我尝试获得proprtype时,如果它超过1,它会给我错误

PHP:注意:未定义的属性:stdClass ::

如果我使用isset然后没有错误但仍然打印一个结果,而转储给我超过1个结果

因为在您的数组中,您没有第二个索引上的proptype

试试这样

if(isset( $data['proptype']) && $proptpe == $data->proptype){
       $savemyval[] = $row['id'];

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM