【问题标题】:Trying to get property of non-object in on line 20 [duplicate]试图在第 20 行获取非对象的属性 [重复]
【发布时间】:2020-01-26 05:21:51
【问题描述】:

我遇到了一个错误,我真的不知道问题出在哪里。请任何人都可以告诉我有什么问题吗?我将不胜感激任何帮助,谢谢!

Trying to get property of non-object in on line 20

class.php

class PostsData extends dbh {

    public function fetchAllPosts() {

                $sql = "SELECT * FROM post";
                $stmt = $this->connect()->query($sql);
                $stmt->execute([]);
                $result = $stmt->fetchAll();

                return $result;
        }   }

blog.php

$post_ = new PostsData;
$allposts = $post_->fetchAllPosts();


   foreach ($allposts as $post) {

    echo $post->post_title; //error

【问题讨论】:

  • execute() 调用中不需要方括号。
  • 我会说根本不应该执行。运行两次查询会产生负面影响

标签: php pdo


【解决方案1】:

您没有检查返回的结果是否为空。如果是因为完全没有要访问的属性,则会生成错误。

考虑在 FetchAllPosts 函数中使用 print 语句来检查是否返回了任何行。这可能有助于缩小错误的范围。

【讨论】:

  • 这个答案不正确。永远没有属性可以访问的原因是因为fetchAll() 默认返回一个数组数组。
猜你喜欢
  • 2016-07-16
  • 2011-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多