-2

我需要帮助,任何人都可以帮助我删除此警告消息,这里是代码。

 <?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;?>&nbsp;examinaton result of&nbsp;<?php echo    
        $fname;?>         
       &nbsp;held on&nbsp;<?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 中给出的布尔值),请帮忙。

4

2 回答 2

1

这可能是您的 SQL 中的错误。 http://us2.php.net/mysql_query

查询命令在某些失败时返回 FALSE,这就是您获得布尔值的原因。检查

if ($q === false)

确定是否有错误

于 2013-11-15T03:15:01.947 回答
0

当您无法从查询中获取结果集时,就会发生该错误。当您的查询错误时,您无法从查询中获得结果集。

尝试回显mysql_error()。另外,尝试一些命名方式。您的所有查询都$q令人困惑。

于 2013-11-15T03:15:50.630 回答