2016-03-04 81 views
0

我的代碼非常混亂,但我試圖在我的網站上創建一個論壇。獲取錯誤:類mysqli_result的對象無法轉換爲字符串

<?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>"; 

    } 
    ?> 

我似乎無法發佈用戶名和密碼;它一直說:

Object of class mysqli_result could not be converted to string

我已經嘗試了許多不同的「戰術」,但沒有一個似乎工作。有人能幫我嗎?

+0

哪一行會拋出錯誤?爲什麼運行相同的查詢兩次? – chris85

+0

chris85是正確的:您可以使用'select info,username from forum where id ='$ id'「'來避免兩次查詢,但是應該從查詢結果中獲取'$ id';假設所有的ID爲你的查詢返回行將返回從1開始,並定期增加。這可能不是這樣的。 – kungphu

回答

1

mysqli查詢的返回值是一個結果對象。這不僅僅是一組行;它還包含有關查詢,成功或失敗,錯誤消息和其他信息。您需要明確使用result object's methods才能訪問查詢返回的行。

1

我認爲這個問題是從這一行

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

$result$result1不是字符串。你需要循環它然後訪問記錄。

+0

哦,好吧,謝謝!我試過了,它對我很有用。 – garrett

相關問題