繁体   English   中英

如何清除错误“试图获取非对象的属性”?

[英]How to remove Error “Trying to get property of non-object”?

我是PHP新手。 我在运行代码时遇到错误消息Trying to get property of non-object我尝试了在stackoverflow提供的所有可能的解决方案,但失败了。 请查看我的代码,并向我建议我的错误。

请不要标记为重复

<?php
   $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "pacra-daily";
    $conn = new mysqli($servername, $username, $password, $dbname);
    //$id2 = $_GET['id'];

    $sql="SELECT pacra_teams.title as 'teamTitle', og_users.display_name, og_users.id
    FROM og_users
    LEFT JOIN pacra_teams
    ON pacra_teams.id = og_users.team_id
    Where og_users.id = 106";
    $result = $conn->query($sql);
    $row = $result->fetch_object();
    // setting variable values during session

    echo $row->display_name; // Change to correct column name in table og_users
    echo $row->teamTitle; 
    ?>

我有错误

echo $row->display_name; // Change to correct column name in table og_users
        echo $row->teamTitle; 

如果查询返回空结果集,您仍在尝试访问该行。 在while循环中访问db列,如下所示。

while ($row = $result->fetch_object()) {
      echo $row->teamTitle;
}

要检查您的任务...请看php.net http://php.net/manual/de/mysqli.query.php

这是给你的例子

   <?php
       $servername = "localhost";
       $username = "root";
       $password = "";
       $dbname = "pacra-daily";

       $sql="SELECT pacra_teams.title as 'teamTitle', og_users.display_name,                    og_users.id
            FROM og_users
            LEFT JOIN pacra_teams
            ON pacra_teams.id = og_users.team_id
            Where og_users.id = 106";
       $mysqli = new mysqli($servername , $username, $password, $dbname);

       /* check connection */
       if ($mysqli->connect_errno) {
           printf("Connect failed: %s\n", $mysqli->connect_error);
           exit();
       }


       /* Select queries return a resultset */
       if ($result = $mysqli->query($sql)) {
                printf("Select returned %d rows.\n", $result->num_rows);

                /* free result set */
                $result->close();
      }

      /* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
      if ($result = $mysqli->query($sql, MYSQLI_USE_RESULT)) {

      /* Note, that we can't execute any functions which interact with the
         server until result set was closed. All calls will return an
         'out of sync' error */
      if (!$mysqli->query("SET @a:='this will not work'")) {
          printf("Error: %s\n", $mysqli->error);
      }
      $result->close();
     }

     $mysqli->close();
 ?>

暂无
暂无

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

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