【问题标题】:Fatal error: Call to a member function fetch_assoc() on a non-object in ... on line 17 [duplicate]致命错误:在第 17 行对 ... 中的非对象调用成员函数 fetch_assoc() [重复]
【发布时间】:2015-09-08 07:53:47
【问题描述】:

从本地主机迁移到网络服务器后,我收到此错误。也许这可能是因为网络服务器上的 PHP 版本(PHP 5.2)。有任何想法吗?

<?php
$servername ="";
$username ="uran";
$password ="";
$dbname ="";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM answer WHERE topic_key='$id'";
$result = $conn->query($sql);
 // output data of each row
while($row = $result->fetch_assoc()) {
    echo "<strong>Príspevok č.:</strong> " . $row["id"]. "<br>"."     <strong>Napísal:</strong> " 
    . $row["name"]. "<br>". $row["topic"]."<br>" . $row["reg_date"]."<br>"."  <br><br>";
}

$conn->close();
 ?>

【问题讨论】:

  • $id 来自哪里???
  • 此页面包含在页面 select.php 中 $id=$_GET['id']; $_SESSION['id2'] = $id;正如我在 localhost 上所说的,一切正常,所以我不认为问题出在代码中。
  • $servername 怎么样?您在将其迁移到您的网络服务器时是否对其进行了更新?
  • 是的,问题出在此处 while($row = $result->fetch_assoc())

标签: php mysql mysqli


【解决方案1】:

我认为您的查询失败,$conn-&gt;query($sql) 将返回 FALSE(请参阅mysqli::query)。

请将以下代码添加到您的代码中以获取错误消息:

if (!$result) {
    printf("Error: %s\n", $conn->error);
}

【讨论】:

  • 谢谢。你的帖子解决了我的问题。我错过了我的数据库表中的一行。
猜你喜欢
  • 2011-07-04
  • 2016-08-30
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
  • 2017-12-09
  • 2013-06-12
相关资源
最近更新 更多