duanguane1670 2014-05-23 13:27
浏览 60

PDO Sql语句按错误排序

<?php 
require('db_info.php');
$recordsPerPage = 5;
if (isset($_GET['page']))
  $curPage = $_GET['page'];
else
      $curPage = 1;
  $startIndex = ($curPage-1) * $recordsPerPage;

try {
       $pdoObject = new PDO("mysql:host=$dbhost; dbname=$dbname;", $dbuser, $dbpass);
   $sql = "SELECT count(id) FROM usercom";
   $statement = $pdoObject->query($sql); 
   $record = $statement->fetch(PDO::FETCH_ASSOC);
   $pages = ceil($record['count(id)']/$recordsPerPage);

   $record=null;
   $sql = "SELECT * FROM usercom LIMIT $startIndex, $recordsPerPage ORDER BY date DESC";
   $statement = $pdoObject->query($sql);
   while ( $record = $statement->fetch(PDO::FETCH_ASSOC) ) {
   echo '<p>'.$record['date'].'<br/>'.$record['userComment'].'<br/>';
                }


   $statement->closeCursor();

   $pdoObject = null;

   } catch (PDOException $e) {

   echo 'PDO Exception: '.$e->getMessage();
    die();

   }?></p>

I'm trying to fetch result from a database and use pagination. The problem is that the descending order asked in the statement never applies. Why isn't this working? If I don't add the line "ORDER BY date DESC" it works just fine, but when I do it prints error that I'm trying to fetch a non-object.

  • 写回答

1条回答 默认 最新

  • duancan1950 2014-05-23 13:29
    关注

    Your syntax isn't quite correct,

    Use this one instead,

    $sql = "SELECT * FROM `usercom` ORDER BY `date` DESC LIMIT $startIndex, $recordsPerPage";
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?