我知道有很多类似这样的类似问题,但我无法将其翻译成我的问题,所以这就是为什么我再问一次。代码工作正常,但由于mysql将被弃用,我想转换为mysqli。
尝试从数据库中读取内容时收到以下错误:可捕获的致命错误:类mysqli_result的对象无法转换为字符串。它指的是第12行,即
echo $result;
完整代码:
$previd ="10";
$query="SELECT * FROM contacts WHERE id='$previd'";
$result = $mysqli->query($query);
echo $result;
$num=$result->num_rows;
$mysqli->close();
echo "<b><center>Database Output</center></b><br><br>";
$i=0;
while ($i < $num) {
$id=mysql_result($result,$i,"id");
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
$content=mysql_result($result,$i,"content");
echo "<u>$id</u><b>$first $last</b><br>Phone: $phone<br>Mobile: $mobile<br>Fax: $fax<br>E-mail: $email<br>Web: $web<br><hr><br>$content";
$i++;
}
我该如何解决这个问题?
答案 0 :(得分:1)
$num=$result->num_rows;
echo "<b><center>Database Output</center></b><br><br>";
while ($row = $result->fetch_assoc()) {
echo "<u>".$row['id']."</u><b>".$row['first']."</b>"; //etc...
}
更容易。
答案 1 :(得分:0)
这是因为mysqli_result
是结果集。我不知道你期望从echo
获得什么,就像你echo
使用mysql_query
查询的SELECT
查询的结果集一样。 {{1}}。
您需要使用各种类方法来访问结果集中的数据。