Php mysql_num_rows()希望参数1是资源,布尔值在C:\wamp\www中给出

Php mysql_num_rows()希望参数1是资源,布尔值在C:\wamp\www中给出,php,mysql,Php,Mysql,代码在几页的情况下运行良好,并显示一些排序警告,如“mysql\u num\u rows()期望参数1是资源,布尔值在C:\wamp\www中给出”。。。它总是让我困惑,因为它正在为某个页面工作,并且在某个时候显示了一条警告消息,这让我非常沮丧…请帮助 <?php $emp_id=$_SESSION['username']; $s=mysql_query("select semester from faculty_advisor where emp_id = '$emp_

代码在几页的情况下运行良好,并显示一些排序警告,如“mysql\u num\u 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());
    }

    ?>

之所以发生这种情况,是因为您的
$subject=mysql_查询(“从subject_列表中选择*,其中学期=s”)
返回了
FALSE
由于查询失败,请使用
mysql\u error()
查找错误

通常执行
mysql\u query()或die(mysql\u error())
以确保出错后代码不会继续

更新


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

为$s返回的值是多少。。。你的查询只有在它是一个整数的情况下才有效。相反,
从教员顾问那里选择学期,其中emp\u id='macs410'LIMIT 1
无论哪种情况,它都返回一个结果集,你不能按原样使用它。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,我应该怎么做才能更正它buddy$s=mysql_query(“从教员顾问处选择学期,其中emp_id='macs410'”);然后$row=mysql\u fetch\u assoc($s);然后$subject=mysql_查询(“从subject_列表中选择*,其中学期=”。$row['sement.].“”);
 $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("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']."'");