$page_dr=1;
                        $page_size=12;
                        $sql='select * from pro_sell limit :start,:num';
                        $bindparams=array(':start'=>$page_dr-1,':num'=>$page_size);
                        $result=$handler->execSql($sql,$bindparams,"selectAll");报错如下
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 ''0','12'' at line 1

解决方案 »

  1.   

    错误信息显示0和12被引号括住了。查看你的$sql,去掉引号试试。
      

  2.   

    $sql='select * from pro_sell limit :start,:num';
    我这个是没有引号的,是不是这个参数类型sql识别为字符串
      

  3.   

    把执行的sql语句输出一下就知道了。我每次都是这么干的。拿输出的语句在MySQL客户端执行,看看会不会出错。我是菜鸟。
      

  4.   

    MySQL中的LIMIT关键字不能使用预处理
    要这样写,不能使用占位符
    $page_dr=1;
    $page_size=12;
    $sql='select * from pro_sell limit '.($page_dr-1).','.$pagesize;
    $bindparams=array();
    $result=$handler->execSql($sql,$bindparams,"selectAll");
      

  5.   

    本坛早有人写过关于此类错误的文章吧。
    http://blog.csdn.net/jinbiao520/article/details/7469264
      

  6.   

    MySQL中的LIMIT关键字不能使用预处理
    要这样写,不能使用占位符
    $page_dr=1;
    $page_size=12;
    $sql='select * from pro_sell limit '.($page_dr-1).','.$pagesize;
    $bindparams=array();
    $result=$handler->execSql($sql,$bindparams,"selectAll");