2013-10-22 35 views
0

我目前正在嘗試顯示我在putty中創建的表並編寫了一個代碼,以便我可以從數據庫中顯示該表,看起來我編寫了邏輯代碼但似乎有一部分失敗。不會顯示來自mysql數據庫的記錄表警告:mysqli_fetch_row()

它給我此警告

警告:mysqli_fetch_row()預計參數1被mysqli_result中,管線25,31和34

給定的boolean這是$行= mysqli_fetch_row($結果);和mysqli_free_result($ result);

require_once ("settings.php"); 

$conn = @mysqli_connect($host, $user, $pswd, $dbnm) 
     or die ("Failed to connect to server"); 

    @mysqli_select_db($conn, $dbnm) 
     or die ("Database not available"); 

    $query = "SELECT car_id, make, model, price, yom FROM cars"; 
    $result = mysqli_query($conn, $query); 

    echo "<table width='100%' border='1'>"; 
     echo "<tr><th>Car_id</th><th>Make</th><th>Model</th><th>Price</th></tr>"; 
      $Row = mysqli_fetch_row($result); 
       do { 
       echo "<tr><td>{$Row[0]}</td>"; 
       echo "<td>{$Row[1]}</td>"; 
       echo "<td>{$Row[2]}</td>"; 
       echo "<td>{$Row[3]}</td></tr>"; 
      $Row = mysqli_fetch_row($result); 
     } while ($Row); 
    echo "</table>"; 
    mysqli_free_result($result); 
    mysqli_close($conn); 
?> 
+0

如果查詢失敗,因爲糟糕的連接設置也將返回false ......因此,布爾。嘗試「或死(MySQL_error())後查詢顯示錯誤。 – Gavin

回答

0

您正在獲取該行兩次。更改爲執行以下語句:

do { 
      echo "<tr><td>{$Row[0]}</td>"; 
      echo "<td>{$Row[1]}</td>"; 
      echo "<td>{$Row[2]}</td>"; 
      echo "<td>{$Row[3]}</td></tr>"; 
    } while ($Row); 
0

如果您的查詢由於連接設置錯誤而失敗,它將返回false ...因此布爾值。嘗試「或死(MySQL_error())後查詢顯示錯誤

0

最有可能的是,您的查詢中有錯誤,所以mysqli_query返回false(php抱怨的布爾值),或者您的數據庫連接失敗。嘗試直接在phpmyadmin /不同的工具/ mysql命令行中執行你的查詢,看看它是否在那裏工作。mysqli_error()也可能有助於發現錯誤

0

你應該刪除「or die ...」部分mysqli_connect。 他們用or表達式將mysqli_connect的結果投射到boolean

看到這個:

php5 -r '$x="tmp";$y=($x or 3);var_export($y);' 

,其結果是:true

相關問題