0

これはかなり簡単な質問です。エラーがWarning: mysql_num_rows() expects parameter 1 to be resource, boolean発生し、正しい構文を理解できません。mysqlerrorを使用して取得していYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5, 5'ます。

どんな助けでも素晴らしいでしょう。コードは、私が追加しているページ付けの一部です。

影響を受けるコードのスニペット

<?php
//Number of items to display per page  
$perpage = 5;

if(isset($_GET["page"]))
{
    $page = intval($_GET["page"]);
}
else
{
    $page = 1;
}

$calc = $perpage * $page;
$start = $calc - $perpage;
$result = mysql_query("select * from products Limit $start, $perpage");
$rows = mysql_num_rows($result);
echo mysql_error();

if($rows)
{
    $i = 0;
    while($post = mysql_fetch_array($result))
{
?>
4

2 に答える 2

2

$ startを負にすることはできません(負にすることもできます)。$ pageが1以上であることを確認する必要があります。これにより、問題が解決するはずです。

<?php
 //Number of items to display per page  
 $perpage = 5;
 $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
 if ($page < 1)
 {
   $page = 1;
 }
 $calc = $perpage * $page;
 $start = $calc - $perpage;
 $result = mysql_query("select * from products Limit $start, $perpage");
 $rows = mysql_num_rows($result);
 echo mysql_error();
 if($rows)
 {
  $i = 0;
  while($post = mysql_fetch_array($result))
  {
?>
于 2013-01-02T01:16:28.100 に答える
2

開始点の値を使用LIMITする場合は、ゼロ以上である必要があります。

于 2013-01-02T01:16:50.130 に答える