根据id php添加数据库字段

时间:2013-02-06 12:18:32

标签: php mysql sql database

我一直在尝试根据empid输出我的数据库字段,但我不知道。它给了我这个错误..

  

警告:mysql_fetch_array()要求参数1为资源,第16行的C:_webhost \ Apache24 \ htdocs \ eis \ usercp.inc.php中给出布尔值

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

3 个答案:

答案 0 :(得分:1)

由于您的sql语句false无效,因此从mysql_query()传递了布尔$query。因此mysql_fetch_array()会返回上述错误。

请尝试$query,如果这是我希望的语法错误,它将解决。

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

答案 1 :(得分:0)

看到可能有两件事: -

  1. 首先,您在查询中使用的 empid 可能是整数,并且您使用引号传递值。
  2. 其次,查询未返回任何结果。回显查询并在phpmyadmin或任何mysql查询浏览器中运行它。
  3. 建议:在使用mysql_fetch_array之前,请使用mysql_num_rows检查是否从查询中返回任何行。

    注意:正在折旧mysql_ *函数。所以避免他们

答案 2 :(得分:0)

在你做任何事之前,请尽量不要使用mysql_函数,不再支持它 你可以使用pdo。 Bellow是如何使用pdo连接到datadabase,你必须学习如何查询pdo gud luck。     的getMessage();     }     ?&GT;