1

我一直在尝试根据他们的输出我的数据库字段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>";
?>              
4

3 回答 3

1

由于您的 sql 语句无效,false因此传递了一个布尔值。因此返回上述错误。mysql_query()$querymysql_fetch_array()

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

   $query= SELECT * FROM hrf_leave WHERE empid = '$empid' AND formStatus = 0";
于 2013-02-06T12:29:02.777 回答
0

看到可能有两件事:-

  1. 首先,您在查询中使用的empid可能是整数,并且您使用引号传递值。
  2. 其次,查询没有返回任何结果。回显查询并在 phpmyadmin 或任何 mysql 查询浏览器中运行它。

建议:在使用 mysql_fetch_array 之前,使用 mysql_num_rows 检查查询是否返回了任何行。

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

于 2013-02-06T12:24:45.593 回答
0

在你做任何事情之前,请尽量不要使用不再支持的 mysql_ 函数你可以使用 pdo。贝娄是如何使用 pdo 从那里连接到数据库,您必须学习如何查询 pdo gudluck 。获取消息();} ?>

于 2013-02-06T14:00:41.037 回答