PHP通知: Trying to get property of non-object (JSON)

标签 php mysql sql json request

有一个问题让我摸不着头脑一整天...... 我正在尝试检索 JSON 对象,但无法检索数据。

我正在发出 GET 请求。 如果 'id' 为空,它应该检索我的数据库(PHPMyAdmin)的数组列表中的所有笔记。有什么想法吗?

我得到的错误是这样的:

PHP VERSION: 5.6.21 Connected Successfully 
<br />
<b>Notice</b>:  Trying to get property of non-object in
<b>C:\xampp\htdocs\notes.php</b> on line
<b>165</b>
<br />
{
    "header": {
        "msg": "You have an error in your SQL syntax; check the manual that corresponds 
to your MariaDB server version for the right syntax to use near ''notes' WHERE id=6' 
at line 1",
                "code": 400
            },
            "body": []
        }

这是代码

          else if ($method === 'GET')
{
    $sql = "";

    if(empty($_REQUEST['id']))
    {
        // GET All Notes
      $sql = "SELECT * FROM 'notes' ORDER BY created_date DESC";
    }
    else
    {
      //Get one Note
      $id = $_REQUEST['id'];
      $sql = "SELECT * FROM 'notes' WHERE id=$id";
    }

    $result = $conn->query($sql);

    if($result->num_rows > 0) //LINE 165 <------- ERROR!!
    {
      $body = array();
      //output data for each row
      while($row = $result->fetch_assoc())
      {
        array_push($body, $row);
      }

      $json =
      [
        'header' =>
        [
            'msg' => "OK - Everything is working",
            'code' => 200
        ],
        'body' => $body
      ];
      echo json_encode($json, JSON_PRETTY_PRINT);
    }
    else
    {
      $json =
      [
        'header' =>
        [
            'msg' => $conn->error,
            'code' => 400
        ],
        'body' => []
      ];
      echo json_encode($json, JSON_PRETTY_PRINT);
    }
    $conn->close();
}
     ?>

最佳答案

PDO::query()返回一个 PDOStatement 对象,失败时返回 FALSE,因此您应该像这样编写第 165 行:

if($result && $result->num_rows > 0)

关于PHP通知: Trying to get property of non-object (JSON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39479899/

相关文章:

php - 如何从 WooCommerce 中的元键和元值获取产品 ID

php - 使用 MySql 检查可用房间

php - PHP 是否具有与 Python 的 all() 等效的功能?

mysql - NHibernate mysql 连接没有关闭?

javascript - 我怎样才能分别更新php查询几个不同的值?

PHP - SQL - DELETE 查询不起作用

php - 无法连接本地mysql

php - 条件MySQL查询的具体例子

mysql查询合并一张表上的2个选择

mysql - 同时选择与多个值匹配的所有数据