[英]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.