【问题标题】:mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www [closed]mysql_num_rows() 期望参数 1 是资源,布尔值在 C:\wamp\www [关闭]
【发布时间】:2013-06-14 04:33:48
【问题描述】:

代码在几页上运行良好,并显示某种警告,例如“mysql_num_rows() 期望参数 1 是资源,C:\wamp\www 中给出的布尔值”......它总是让我感到困惑,因为它适用于某些页面,有时会显示一条警告消息,这让我很沮丧...请帮助...

<?php 
    $emp_id=$_SESSION['username'];
    $s=mysql_query("select semester from faculty_advisor where emp_id = '$emp_id' ");
    echo $s; //just to check if am getting the correct value
    $subject=mysql_query("select * from subject_list where semester=$s");
    $numrows=mysql_num_rows($subject);
    if($numrows!=0)
    {
        while($row=mysql_fetch_array($numrows))
        {
            ?>
        <td align="center"><?php echo  $row['sid']; ?></td>
        <td align="center"><?php echo  $row['subject_name']; ?></td>
    <td align="center"><?php echo  "<a class='tooltip' href=\"fac_adv_reg_confrm.php?uid=".$row['sid']."\">Edit<span>Edit User Details</span></a>"?></td>  
            <?php
        }
    }
    else
    {
   die('Error: ' . mysql_error());
    }

    ?>

【问题讨论】:

标签: php mysql


【解决方案1】:
$s=mysql_query("select semester from faculty_advisor where emp_id = 'macs410' ");
echo $s;
$subject=mysql_query("select * from subject_list where semester=$s");

Should be

$s=mysql_query("select semester from faculty_advisor where emp_id = 'macs410' ");
$row = mysql_fetch_assoc($s); 
$subject=mysql_query("select * from subject_list where semester='".$row['semester']."'");

【讨论】:

    【解决方案2】:

    发生这种情况是因为您的$subject=mysql_query("select * from subject_list where semester=$s"); 由于查询失败而返回FALSE,请使用mysql_error() 找出错误。

    通常使用mysql_query() or die (mysql_error()) 以确保代码在出错后不会继续。

    更新

    我还注意到,在您的第一个查询结果$s 中,您直接使用它,就好像它是一个变量。您需要先使用mysql_fetch_assocmysql_fetch_row 提取该行,然后再将其传递给第二个查询

    【讨论】:

      【解决方案3】:
       $s=mysql_query("select semester from faculty_advisor where emp_id = 'macs410' ");
       echo $s;
       $subject=mysql_query("select * from subject_list where semester=$s");
      
      Hear $s is a resource object so 
      mysql_query("select * from subject_list where semester=$s");
      will give an error
      
      hence $subject is not a valid resource object 
      

      【讨论】:

      • 我应该怎么做才能纠正它,伙计
      • $s=mysql_query("从 Faculty_advisor 中选择学期,其中 emp_id = 'macs410'");然后 $row = mysql_fetch_assoc($s);然后 $subject=mysql_query("select * from subject_list where term='".$row['semester.']."'");
      猜你喜欢
      • 2014-01-10
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多