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()

としてこれを試してみてください$query。構文エラーであれば解決します。

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

何かをする前に、mysql_関数を使用しないようにしてください。サポートされなくなりました。pdoを使用できます。以下は、そこからpdoを使用してデータベースに接続する方法であり、pdogudluckを照会する方法を学ぶ必要があります。getMessage(); }?>

于 2013-02-06T14:00:41.037 に答える
0

2つの可能性があることを確認してください:-

  1. 最初に、クエリで使用したempidが整数である可能性があり、値を引用符で囲んで渡しています。
  2. 次に、クエリが結果を返していません。クエリをエコーアウトし、phpmyadmin または任意の mysql クエリ ブラウザで実行します。

提案 : mysql_fetch_array を使用する前に、mysql_num_rows を使用して、クエリから返される行があるかどうかを確認します。

注 : mysql_* 関数は減価償却されています。だからそれらを避けてください

于 2013-02-06T12:24:45.593 に答える