msqli_result无法转换为字符串

时间:2014-03-10 21:40:42

标签: php mysqli echo fetch

我正在尝试使用mysqli查询数据库,然后获取结果,但它抛出了一个类的Object无法转换为字符串错误。

这是我想要完成的事情:

<?php
include ('conn.php');

$query= "select value from the_table where item = 'url'";
$result = mysqli_query($conn, $query);
?>

然后我尝试使用$result填充链接:

<a href="<?php echo $result; ?>">This is the Link to the URL</a>

我看过这篇文章:PHP and MySQL error: Object of class mysqli_result could not be converted to string

所以,我尝试用echo $result->fetch_object()->url;格式化回声,但这不起作用。

我不确定是否必须获取结果,然后使用mysqli_fetch_array()将其抛出,如果是这样,我如何让它填充循环外的值?

2 个答案:

答案 0 :(得分:0)

假设$db是您的数据库连接链接,您可以执行查询:

$result = mysqli_query($db, 'select name from fruits');

然后您可以使用程序样式获取名称:

echo mysqli_fetch_object($result)->name;

或对象样式:

echo $result->fetch_object()->name;

在您的代码中,您尝试输出未定义的url属性 - 正如我们在您的查询中看到的那样。

答案 1 :(得分:0)

尝试这样的事情: -

    $query= "select value from the_table where item = 'url'";
    $result = mysqli_query($conn, $query) or die ("Couldn't execute query.");

    // use returned data
    while($row = mysqli_fetch_assoc($result))
    {
        echo $row['value'];
    }

OR

while ( $row = mysqli_fetch_assoc( $result ) )           
   {
      foreach ($row as $key => $value)
      {
     print ($row . " = " . $value . "\n");
      }
      print("================");
   }