2013-02-06 41 views
1

我一直試圖根據他們的empid輸出我的數據庫字段,但我不知道怎麼辦。它給了我這個錯誤..根據id添加數據庫字段php

警告:mysql_fetch_array()預計參數1是資源,布爾在C中給出:_webhost \ Apache24 \ htdocs中\ EIS \上線usercp.inc.php 16

<?php  
$firstname = getuserfield('txtFname'); 
$lastname = getuserfield('txtLname'); 
echo 'Hello '.$firstname.' '.$lastname.'.'; 
$empid = getuserfield('empid'); 
$query = "SELECT type_of_leave,specific_reason,date_from,date_to,num_of_days FROM `hrf_leave` WHERE `empid` = '$empid' AND `formStatus` = 0"; 
$query_run = mysql_query($query); 
echo "<table border=1> 
<tr> 
<th>Type of Leave</th> 
<th>Specific Reason</th> 
<th>Date From</th> 
<th>Date To</th> 
<th>Number of Days</th> 
</tr>"; 
while($record = mysql_fetch_array($query_run)){ // line 16 
echo "<tr>"; 
echo "<td>" . $record['type_of_leave'] . "</td>"; 
echo "<td>" . $record['specific_reason'] . "</td>"; 
echo "<td>" . $record['date_from'] . "</td>"; 
echo "<td>" . $record['date_to'] . "</td>"; 
echo "<td>" . $record['num_of_days'] . "</td>"; 
echo "</tr>"; 
} 
echo "</table>"; 
?>    
+0

在mysql_query之後放置或'die(mysql_error())'; – artragis

+0

我試過了。我發現這個問題,我做了一些修改後忘了保存mysql表。但它仍然不會輸出我想要的結果。 – Wax

回答

1

由於您的sql語句$query無效,所以從mysql_query()開始傳遞布爾值false。因此mysql_fetch_array()返回上述錯誤。

試試這個爲$query,它會解決,如果它是一個語法錯誤,我希望。

$query= SELECT * FROM hrf_leave WHERE empid = '$empid' AND formStatus = 0"; 
0

看有可能是兩兩件事: -

  1. 首先EMPID您在查詢中使用的可能是整數,你是用引號傳遞值。
  2. 其次查詢沒有返回任何結果。回顯查詢並在phpmyadmin或任何mysql查詢瀏覽器中運行它。

建議:在使用mysql_fetch_array之前,請使用mysql_num_rows來檢查是否有任何行從查詢中返回。

注意:mysql_ *函數正在折舊。因此請避免使用它們

+0

我試圖用$ row = mysql_fetch_assoc(query_run)在數據庫中輸出1個字段,並且像這個$ row ['id']一樣回顯它,但沒有彈出 – Wax

+0

@Carnal我知道它晚了,但是你是否仍然有這個問題? – Roger

0

之前,你做任何事情,請儘量不要使用mysql_其作用沒有更多的支持 您可以使用PDO。貝婁是如何使用pdo連接到數據庫,從那裏你必須學習如何查詢pdo gud運氣。 getMessage(); } ?>