Php mysql_num_rows()希望参数1是资源,布尔值在C:\wamp\www中给出
代码在几页的情况下运行良好,并显示一些排序警告,如“mysql\u num\u 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_
<?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']."'");