Php 获取错误:类mysqli_result的对象无法转换为字符串

Php 获取错误:类mysqli_result的对象无法转换为字符串,php,mysqli,Php,Mysqli,我的代码非常混乱,但我正试图在我的网站上建立一个论坛 <?php $conn = mysqli_connect("localhost", "root", ""); if($conn->connect_error){ die("Connection Failed"); } mysqli_select_db($conn, 'forum'); $get= "select * from forum"; $runq = mysq

我的代码非常混乱,但我正试图在我的网站上建立一个论坛

<?php 
    $conn = mysqli_connect("localhost", "root", "");
    if($conn->connect_error){
        die("Connection Failed");
    }
    mysqli_select_db($conn, 'forum');
    $get= "select * from forum";
    $runq = mysqli_query($conn, $get);
    while($fetch_value=mysqli_fetch_array($runq)){
        $get_usr_name=$fetch_value['username'];
        $get_body = $fetch_value['info'];
        }
        $result = $conn->query($get);
        if(is_null($get_body)){

        }
        else{
        echo "<div id='inputform1'>";
        for($row = 1; $row < $result->num_rows; $row++){

            $dbhost = "localhost";
            $dbuser = "root";
            $dbpass = "";
            $dbname = "forum";
            $connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
            if(mysqli_connect_errno()){
                die("database connection failed: ") .
                    mysqli_connect_errno() .
                    " (" . mysqli_connect_errno() . ")";

            }
            $result1 = mysqli_query($connection, "select info from forum where id='$row';");
            $result = mysqli_query($connection, "select username from forum where id='$row';");
        echo "<strong class=\"after_username\">by: {$result}</strong><br><br><p id=\"bodyforum\">{$result1}<br><br></p>";
        }
        echo "</div>";

    }
    ?>

mysqli查询的返回值是一个result对象。它不仅仅是一组行;它还包含有关查询、成功或失败、错误消息和其他内容的信息。您需要显式使用来访问查询返回的行。

mysqli查询的返回值是一个结果对象。它不仅仅是一组行;它还包含有关查询、成功或失败、错误消息和其他内容的信息。您需要显式使用来访问查询返回的行。

我认为问题出在这一行

echo "<strong class=\"after_username\">by: {$result}</strong><br><br><p id=\"bodyforum\">{$result1}<br><br></p>";
echo“之后通过:{$result}

{$result1}

”;


$result
$result1
不是字符串。您需要循环它,然后访问记录。

我认为问题出在这一行

echo "<strong class=\"after_username\">by: {$result}</strong><br><br><p id=\"bodyforum\">{$result1}<br><br></p>";
echo“之后通过:{$result}

{$result1}

”;


$result
$result1
不是字符串。您需要循环它,然后访问记录。

哪一行抛出了错误?为什么要运行同一查询两次?chris85是正确的:您可以使用
select info,username from forum,其中id='$id'“
以避免两次查询。但是,
$id
应取自查询结果;假设查询返回的行的所有ID都将从1开始,并定期递增。不太可能是这样。哪一行抛出了错误?为什么要运行同一查询两次?chris85是正确的:您可以使用
select info,username from forum,其中id='$id'“
以避免两次查询。但是,
$id
应取自查询结果;假设查询返回的行的所有ID都将从1开始,并定期递增。这不太可能。哦,好的,谢谢!我试过了,效果很好。哦,好的,谢谢!我试过了,它对我有效。