2012-01-04 69 views
0

可能重复:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
mysql_num_rows(): supplied argument is not a valid MySQL result resource
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given errorSQL错误消息未知我: “警告:mysql_num_rows():提供的参数不是一个有效的MySQL结果资源”

我想通过一个身份证,通过我收到我不知道的错误消息的网址。我的代码如下:

<?php 

$result = mysql_query("SELECT * FROM Agendas INNER JOIN Meetings ON Meetings.meeting_id = Agendas.meeting_id WHERE approval = 'pending' ORDER BY Agendas.meeting_id DESC") 
or die(mysql_error()); 

if (mysql_num_rows($result) == 0) { 
     echo '<h2>No Action Is Required Yet</h2>'; 
    } else { 

while($info = mysql_fetch_array($result)) 
{ 

     echo "<tr>"; 
     echo "<td><br/>" .'Meeting Title: '. $info['title']." </td>"; 
     echo "<td><br/><br/>" .'<a href="viewagenda.php?agenda_id=' . $info['agenda_id'] . '">View Agenda</a> '." </td>"; 
     echo "<hr>"; 
     } 
    } 
echo "</tr>"; 
echo "</table>"; 


?> 

viewagenda.php如下:

<?php 
$id = $_GET['agenda_id']; 

$query = mysql_query("SELECT * FROM Agendas INNER JOIN Meetings ON Meetings.meeting_id = Agendas.meeting_id WHERE agenda_id = '$id'") 
or die(mysql_error()); 

if (mysql_num_rows($result) == 0) { 
     echo '<hr><h2>There Arent Any Agendas For This Meeting Yet</h2>'; 
    } else { 

while($info = mysql_fetch_array($result)) 
{ 

     echo "<tr>"; 
     echo "<td><br/>" .'Title: '. $info['title']." </td>"; 
     echo "<td><br/>" .'Subject: '. $info['subject']. "</td>"; 
     echo "<td><br/>" .'Duration: '. $info['duration']. "</td>"; 

     echo "<hr>"; 
     } 
    } 
echo "</tr>"; 
echo "</table>"; 
?> 

错误消息我得到的是:

“警告:mysql_num_rows():提供的参数不是E:\ webareas \ hj942 \ conference \ Chairperson \ viewagenda.php在线70'上的有效MySQL结果资源

我的表格如下:

会议:MEETING_ID,称号,会长,秘书长,occurances

议程:agenda_id,主题,时间,MEETING_ID

+0

什么是“\ viewagenda.php”中的第70行? – Robert 2012-01-04 16:47:58

+1

**请参阅右边的相关专栏 - > ** – hakre 2012-01-04 16:52:17

回答

2

我猜你的意思是:

$result = mysql_query("SELECT * FROM Agendas INNER JOIN Meetings ON ... 

,因为您使用的是$result变量mysql_num_rows

if (mysql_num_rows($result) == 0) { 
+0

感谢它现在的作品 – user1114080 2012-01-04 16:51:47

+0

+1为我绑定第一个答案:) – 2012-01-04 16:53:01

1

$result从来没有设置我n viewagenda.php因此不是MySQL资源。您设置了$query

将您的赋值语句更改为以下代码,其余代码应该可以工作。

$result = mysql_query("SELECT * FROM Agendas INNER JOIN Meetings ON Meetings.meeting_id = Agendas.meeting_id WHERE agenda_id = '$id'") 
+0

感谢它现在的作品 – user1114080 2012-01-04 16:51:18

1

在尝试在viewagenda.php中应用mysql_num_rows()函数之前,$ result不存在。我认为你的意思是$查询。

这就是说,你也有SQL注入问题。在使用POST数据时,在查询中使用它们之前,应该避开变量,,尤其是mysql_real_escape_string()将有所帮助。

+0

感谢它现在的作品 – user1114080 2012-01-04 16:50:43

0

它应该是if (mysql_num_rows($query) == 0)

+0

感谢它现在的作品 – user1114080 2012-01-04 16:51:27

相关问题