警告:mysql_num_rows():提供的参数不是有效的MySQL结果资源

时间:2011-06-25 22:30:09

标签: php mysql database pagination jquery-pagination

试图实现Facebook风格的分页,我一直收到这个错误? Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

我不完全确定这是什么意思,但我无法通过谷歌搜索找到解决方案,任何愚蠢的错误都能脱颖而出?这是代码:

    <?php
include('functions.php');


if(isset($_POST['lastmsg']) &&is_numeric($_POST['lastmsg']))
{
$lastmsg=$_POST['lastmsg'];
$query = mysql_query("SELECT * FROM links WHERE id>'$lastmsg' ORDER BY id ASC LIMIT 9 ");

while($result = mysql_fetch_array($query))
{
$msg_id=$result['id'];
$message=$result['link'];
?>

<li> <?php echo $message; ?> </li>
<?php
}


?>
<?php

if(mysql_num_rows($result)==9){
   ?>
<div class="facebook_style" id="facebook_style"> 
    <a id="<?php echo $message; ?>" href="#" class="load_more" >
        Show Older Posts <img src="arrow1.png" /></a> </div>
<?php
 }else {

    echo '  <div  id="facebook_style">
  <a  id="end" href="#" class="load_more" >No More Posts</a>
  </div>';

 }
}
?>

2 个答案:

答案 0 :(得分:4)

您希望mysql_num_rows()传递$query值,而不是$results值。 (或者您希望重构代码,将$query命名为$query_result之类的其他内容,并将其传递给mysql_num_rows()。)

mysql_num_rows()需要MySQL结果资源,在您的情况下由mysql_query()返回,您已将其分配给$query

相比之下,

$result只是一个表示结果的单行的数组。 (因此,更好的重构可能是将$result重命名为$row并将$query重命名为$result。然后您可以按原样拨打mysql_num_rows()。)

答案 1 :(得分:0)

mysql_num_rows()需要一个结果资源(在您的情况下为$query),而不是从mysql_fetch_array()拉出的行。

if(mysql_num_rows($query )==9) {
  // etc...
}