繁体   English   中英

如果代码显示为“试图获取非对象的属性”错误,如何识别代码中的非对象?

[英]how to identify which is a non-object in the code if it shows error as `trying to get property of non-object`?

对现有脚本进行一些修改后,我创建了一个错误:

注意:试图获取非对象的属性...

我试图弄清楚如何识别变量$result是否是一个对象,所以我不会收到此错误( if ($result-> num_rows > 0) { ),我将在此特定行上收到错误。 这里有:

<?php 
$sql = "SELECT * FROM input WHERE id =".$_GET["id"]; 
$result = mysqli_query ($conn,$sql);

if ($result-> num_rows > 0) { 
    while($row -> $result->fetch_assoc()) { 
        $myid = $row["id"] ;
        $sql2 = "SELECT * FROM output WHERE question_id = $myid ORDER BY date DESC";
        $result2 = $conn->query($sql2);
        $sql3 = "SELECT COUNT(*) as rowCount FROM output WHERE question_id = '".$myid."'";

        $result3 = $conn->query($sql3);
        $rowCount= $result3->fetch_assoc();
?>

我如何事先知道这是否是物体?

首先,在此之前的代码中,变量$conn是否已初始化?
其次,您想像这样使while循环:
while($row = $result->fetch_assoc()) { ... }

您可以使用查找内容为数组或对象:

is_object() to find object 
is_array() to find array 

$sql = "SELECT * FROM compt WHERE id =1"; 
$result = mysqli_query ($conn,$sql);

if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 

    }
    }

暂无
暂无

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

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