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_resultmysql_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 に答える