Предупреждение: mysql_num_rows (): предоставленный аргумент не является допустимым ресурсом результата MySQL - PullRequest
1 голос
/ 26 июня 2011

пытаетесь внедрить нумерацию в стиле facebook, и я получаю эту ошибку? Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Я не совсем уверен, что это на самом деле означает, но я не могу найти решение этой проблемы от поиска в Google, каких-нибудь глупых ошибок, которые выделяются? вот код:

    <?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 ]

4 голосов
/ 26 июня 2011

Вы хотите передать 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() как есть.)

0 голосов
/ 26 июня 2011

mysql_num_rows() ожидает ресурс результата (в вашем случае $query), а не строку, извлеченную из mysql_fetch_array().

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