1

试图实现一个 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>';

 }
}
?>
4

2 回答 2

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()原样保留调用。)

于 2011-06-25T22:34:08.750 回答
0

mysql_num_rows()期望结果资源(在您的情况下$query)而不是从mysql_fetch_array().

if(mysql_num_rows($query )==9) {
  // etc...
}
于 2011-06-25T22:35:24.257 回答