2013-04-22 65 views
-2

不顯示任何信息。獲得錯誤,我真的不知道爲什麼? 謝謝。爲什麼不顯示我的信息爲mysql表?

<?php 

    $mysqli = new mysqli("localhost", "root", "", "insuredcars"); 
    if ($_POST['formcar'] == '1' || $_POST['formage'] == '18' || $_POST['formNCD'] ==   '0' || $_POST['formPoints'] == '0') 
    $query = $mysqli->query("SELECT * FROM insurance WHERE insuranceid = '1'"); 
while($row = mysql_fetch_array($result)) 
{ 
echo "<tr>"; 
echo "<td>" . $row['insuranceprice'] . "</td>"; 
echo "</tr>"; 
    } 
echo "</table>"; 

mysql_close($con); 

?> 

的誤差即時得到: 說明:未定義變量:結果在C:在第8行

警告:mysql_fetch_row()能夠預計參數1是資源,在C空給出:\ XAMPP \ htdocs中\在線路的search.php 8

說明:未定義變量:CON在C:第16行

警告:mysql_close()預計參數1是資源,在C空下式給出:在線路16

+0

你看到了什麼錯誤? – tom 2013-04-22 00:35:04

+2

你用'mysql_fetch_array'混淆了'mysqli_fetch_row'。堅持MySQLi! – alfasin 2013-04-22 00:36:04

+0

我不知道爲什麼不顯示任何數據...我的意思是,來吧。我們甚至不知道你的錯誤! – 2013-04-22 00:36:28

回答

0

mysqli_fetch_row只讀取一行,如函數名稱所示。

$mysqli = new mysqli("localhost", "root", "", "insuredcars"); 
if ($_POST['formcar'] == '1' || $_POST['formage'] == '18' || $_POST['formNCD'] == '0' || $_POST['formPoints'] == '0') {  
    $query = $mysqli->query("SELECT * FROM insurance WHERE insuranceid = '1'"); 
    while ($row = mysqli_fetch_assoc($query)) { 
     echo "<tr>"; 
     echo "<td>" . $row['insuranceprice'] . "</td>"; 
     echo "</tr>"; 
    } 
    echo "</table>"; 
} 

mysql_close($con); 
+0

非常感謝。唯一的一點是,它說保險費是一個未定義的指數。這只是我的數據庫中的一個列名? – 2013-04-22 00:59:46

+0

嗯,我很累^^。如果您使用抓取行,您需要使用列的ID。或者使用'mysqli_fetch_assoc'。我編輯了我的答案。 – Michael 2013-04-22 01:11:34

+0

請點擊左側箭頭下方的按鈕接受答案。 :) – Michael 2013-04-22 01:31:37

0

嘗試讀取對方的回答有關使用mysqli_fetch_row而不是mysql_fetch_row,但我認爲你需要小心在這一行:

$query = $mysqli->query("SELECT * FROM insurance WHERE insuranceid = '1'"); 

您的結果存儲到$query變量,但是當你循環:

while($row = mysql_fetch_array($result)) 

你嘗試獲取$result變量,這裏沒有聲明。