【发布时间】:2017-01-22 23:56:21
【问题描述】:
对现有脚本进行一些修改后,我创建了一个错误:
注意:正在尝试获取非对象的属性...
我试图弄清楚如何识别变量 $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();
?>
如何事先判断这是否是一个对象?
【问题讨论】:
-
我认为您已经以程序方式运行查询,并且以面向对象的方式获取数据是问题的原因。
-
$result 不是对象,因为您的查询失败,您需要调试它
-
作为一个小建议,不要在不清理或使用准备好的语句的情况下将 GET 参数连接到查询。搜索mysql注入
标签: php