我从名为json
的表中提取properties
数据。列名是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'];
}
}
如果i 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个结果
答案 0 :(得分:0)
因为在你的数组中你没有第二个索引的proptype
试试这个
if(isset( $data['proptype']) && $proptpe == $data->proptype){
$savemyval[] = $row['id'];
}