我需要帮助,任何人都帮我删除此警告信息, 这里的代码。
<?php
$fname="fname";
$exam_name="exam_name";
$date="date";
$class="class";
$query="query";
$query2="query2";
$database=("mcl");
mysql_connect("localhost","root","mcl");
@mysql_select_db(mcl) or die( "Unable to select database");
if(isset($_REQUEST['submit'])){
$fname=$_POST['fname'];
$date=$_POST['date'];
$exam_name=$_POST['exam_name'];
$class=$_POST['class'];
$sql=" SELECT * FROM stdreg_exam WHERE fname like '%".$fname."%' AND
exam_name like '%".$exam_name."%'AND class like '%".$class."%' AND date
like '%".$date."%'" or die(mysql_error());
$sql2
="SELECT(mathematics+english+kiswahili+geograph+civics+french+religion+
pds+vskill+ict+science+history)/12 FROM stdreg_exam( as Average, (SELECT
(mathematics+english+kiswahili+geograph+civics+french+religion+
pds+vskill+ict+science+history) FROM stdreg_exam( as Total WHERE fname like
'%".$fname."%' AND exam_name like '%".$exam_name."%'AND class like
'%".$class."%' AND date like '%".$date."%'" or die(mysql_error());
$q=mysql_query($sql);
$q=mysql_query($sql2);
}
else{
$sql="SELECT * FROM stdreg_exam";
$q=mysql_query($sql);
}
?>
<form method="post">
<table width="500" border="0">
<tr>
<td>Student name</td>
<td><input type="text" name="fname" value="<?php echo $fname;?>" /></td>
<td>Exam name</td>
<td><input type="text" name="exam_name" value="<?php echo $exam_name;?>"
/></td>
<td>Class</td>
<td><input type="text" width="10" name="class" value="<?php echo
$class;?>" /></td>
<td>Date</td>
<td><input type="date" name="date" value="<?php echo $date;?>" /></td>
<td><input type="submit" name="submit" value="Search" /></td>
</tr>
</table>
<br />
</form>
<table>
<h4><?php echo $exam_name;?> examinaton result of <?php echo
$fname;?>
held on <?php echo $date;?></h4><hr>
<table width="1110" border="0" cellpadding="2" cellspacing="1" >
<tr>
<td bgcolor="#CCCCCC" width="2000">Student name</td>
<td bgcolor="#CCCCCC" width="10">Mathematics</td>
<td bgcolor="#CCCCCC" width="10">English</td>
<td bgcolor="#CCCCCC" width="10">Kiswahili</td>
<td bgcolor="#CCCCCC" width="10">Geograph</td>
<td bgcolor="#CCCCCC" width="10">Civics</td>
<td bgcolor="#CCCCCC" width="10">French</td>
<td bgcolor="#CCCCCC" width="10">Religion</td>
<td bgcolor="#CCCCCC" width="10">Pds</td>
<td bgcolor="#CCCCCC" width="10">Vskill</td>
<td bgcolor="#CCCCCC" width="10">Ict</td>
<td bgcolor="#CCCCCC" width="10">Science</td>
<td bgcolor="#CCCCCC" width="10">History</td>
<td bgcolor="#CCCCCC" width="10">Average</td>
<td bgcolor="#CCCCCC" width="10">Total</td>
<td bgcolor="#CCCCCC" width="10">Exam_name</td>
<td bgcolor="#CCCCCC" width="1000">Class</td>
<td bgcolor="#CCCCCC" width="1000">Date</td>
</tr>
<?php
while($res=mysql_fetch_array($q)){
?>
<tr>
<td width="100"><?php echo $res['fname'];?></td>
<td width="10"><?php echo $res['mathematics'];?>%</td>
<td width="10"><?php echo $res['english'];?>%</td>
<td width="10"><?php echo $res['kiswahili'];?>%</td>
<td width="10"><?php echo $res['geograph'];?>%</td>
<td width="10"><?php echo $res['civics'];?>%</td>
<td width="10"><?php echo $res['french'];?>%</td>
<td width="10"><?php echo $res['religion'];?>%</td>
<td width="10"><?php echo $res['pds'];?>%</td>
<td width="10"><?php echo $res['vskill'];?>%</td>
<td width="20"><?php echo $res['ict'];?>%</td>
<td width="10"><?php echo $res['science'];?>%</td>
<td width="10"><?php echo $res['history'];?>%</td>
<td width="30"><?php echo $res2['Average']; ?></td>
<td width="30"><?php echo $res2['Total']; ?></td>
<td width="10"><?php echo $res['exam_name'];?></td>
<td width="30"><?php echo $res['class'];?></td>
<td width="280" style="border-width:medium"><?php echo $res['date'];?></td>
</tr>
<?php }?>
当我运行查询时,它给我这条消息(警告:mysql_fetch_array()期望参数1是资源,布尔值在第322行的C:\ wamp \ www \ db_valentine_V2 \ std_report_exam.php中给出),请帮助。< / p>
答案 0 :(得分:1)
这可能是您的SQL中的错误。 http://us2.php.net/mysql_query
查询命令在某些失败时返回FALSE,这就是为什么你得到一个布尔值。检查
if ($q === false)
确定是否有错误
答案 1 :(得分:0)
当您无法从查询中获取结果集时,会发生该错误。当查询错误时,您无法从查询中获得结果集。
尝试回显mysql_error()
。另外,尝试命名各种各样。您的所有查询都是$q
,这会让您感到困惑。