2013-02-06 43 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(); } ?>