order by time  是指按time的数据顺序排序(看名字,应该是时间类型吧),首先你的表 message  有一个字段名字叫 time ,按照time里面的数据进行排序。limit $offset,$pagesize  是指从第$offset条记录开始显示,显示 $pagesize 条记录。
例如,数据库有100条记录, limit 0,10 是从第一条记录开始显示,显示前10条记录。
limit 95,10 是从第96条记录开始显示,显示到第100条记录。
(记录索引是从0开始的)
ceil -- 进一法取整
说明
float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。 
isset -- 检测变量是否设置
bool isset ( mixed var [, mixed var [, ...]] )
如果 var 存在则返回 TRUE,否则返回 FALSE。 
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

解决方案 »

  1.   

    现在我这条SQL语句是错的,大家看看错在哪里了:
    select * from s_QZJX_AZSQD where ejdwbm='0063' and substr(sblbdm,1,2)='10' order by sqdbh desc limit 0,1如果我把后面的limit 0,1去掉,就是正确的,说明我在用limit 0,1时出问题了,什么问题呢?
      

  2.   

    错误提示是这样的:
    ERROR at line 1:
    ORA-00933: SQL command not properly ended
      

  3.   

    select * from s_QZJX_AZSQD where ejdwbm='0063' and substr(sblbdm,1,2)='10' order by sqdbh desc limit 0,1
    ===========================================
    substr()是php函数
    mysql的对应函数是substring()
      

  4.   

    不行,按楼上的改了:select * from s_QZJX_AZSQD where ejdwbm='0063' and substring(sblbdm,1,2)='10' order by sqdbh desc limit 0,1
    错误提示照旧
      

  5.   

    不是吧,改了后语句应该没问题了,你将此语句copy到mysql命令行下(或phpmyadmin下),看是否有语法错误。
      

  6.   

    我是在ORACLE SQL*PLUS下执行的,substr(sblbdm,1,2)='10' 这样一直没有问题啊
      

  7.   

    select * from s_QZJX_AZSQD where ejdwbm='0063' and substring(sblbdm,1,2)='10' order by sqdbh desc limit 0,1这样在ORACLE SQL*PLUS中执行提示错误还是和以前的一样:
    ERROR at line 1:
    ORA-00933: SQL command not properly ended
      

  8.   

    oracle..,那substr是对的
    晕,oracle支持limit查询吗?no way.
      

  9.   

    不支持?那您帮我看看下面的分页要怎么改呢?$sql_count="select count(*) from s_QZJX_AZSQD where ejdwbm='$coid' and substr(sblbdm,1,2)='$id' order by sqdbh desc";
     $stmt=OciParse($DBCONN,$sql_count);
     ociexecute($stmt);
     ocifetch($stmt);
    $rowcount=ociresult($stmt,1);
    ocifreestatement($stmt);
    $pagesize=1;
    $pages=ceil($rowcount/$pagesize);
    if ($pages%$pagesize)
      $pages++;
    if (!isset($page))
      $page=1;
    if ($_GET[page]>$pages)
      $page=$pages;
    if ($_GET[page]<0)
      $page=1;
    $offset=$pagesize*($page-1);
    $sql_AZSQD="select * from s_QZJX_AZSQD where ejdwbm='$coid' and substr(sblbdm,1,2)='$id' order by sqdbh desc limit $offset,$pagesize";
    $result_AZSQD=OciParse($DBCONN,$sql_AZSQD);
    ociexecute($result_AZSQD);
    while (OciFetchInto ($result_AZSQD, &$arr_AZSQD))
    {
    for ($i=0;$i<74;$i++)
    {
        echo $arr_AZSQD[$i];
        echo"</td><td>";
    }
    }
    echo("共有".$rowcount."条记录");
    echo("共有".$pages."页");
    for ($i=1;$i<$page;$i++)
       "<a href='$PHP_SELF?page=".$i."&find=$find&findmessage=1'第".$i ."页</a>  ";
        echo "第".$page."页";
    for ($i=$page+1;$i<=$pages;$i++)
       echo "<a href='$PHP_SELF?page=".$i."&find=$find&findmessage=1'>第".$i ."页</a>  ";
    $first=1;
    $prev=$page-1;
    $next=$page+1;
    $last=$pages;if ($page>1)
    {
        echo "<a href='$PHP_SELF?page=".$first."&find=$find&findmessage=1'>首页</a> ";
        echo "<a href='$PHP_SELF?page=".$prev."&find=$find&findmessage=1'>上一页</a> ";
    }
    if ($page<$pages)
    {
        echo "<a href='$PHP_SELF?page=".$next."&find=$find&findmessage=1'>下一页</a> ";
        echo "<a href='$PHP_SELF?page=".$last."&find=$find&findmessage=1'>尾页</a> ";
    }
      

  10.   

    http://www.chinaunix.net/jh/19/261521.html
    自己构造你的limit查询吧。
      

  11.   

    oracle在翻页和大文本方面特别白痴。慢慢忍了吧。
      

  12.   

    看下sql语法啊,对你会有用的
      

  13.   

    怎么substr这个函数在对mysql操作和对oracle操作的时候还不一样呢?为什么有时候是substr有时候是substring?SQL语句不都是一样的吗?和前台的语言有什么关系?还有limit,为什么对mysql能用,对oracle就不能用呢?
      

  14.   

    只有标准的原始sql才是一样的,每个数据库都自己对sql做了扩展。