【问题标题】:mysqli : mysqli_result could not be converted to string [duplicate]mysqli:mysqli_result 无法转换为字符串 [重复]
【发布时间】:2013-01-12 10:43:11
【问题描述】:

我知道有人问过很多类似的问题,但我无法将其转化为我的问题,所以我再次问。以前的代码可以正常工作,但由于 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++;
 }

我该如何解决这个问题?

【问题讨论】:

    标签: php mysqli


    【解决方案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...
     }
    

    更容易。

    【讨论】:

      【解决方案2】:

      那是因为mysqli_result 是一个结果集。我不知道你会期望从echoing 中获得什么,就像你不会从 echoing 使用 SELECTmysql_query 查询的结果集获得任何有意义的东西。

      您需要使用各种类方法来访问结果集中的数据。

      http://php.net/manual/en/class.mysqli-result.php

      【讨论】:

      • 对整个 php 来说相当新,所以这是非常有用的信息!谢谢!
      猜你喜欢
      • 2019-05-11
      • 2017-01-31
      • 2019-06-14
      • 2023-03-28
      • 2014-04-18
      • 2017-08-17
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      相关资源
      最近更新 更多