通过PDO使用MySQL时收到“SQLSTATE [42000]:LIMIT ERROR”

时间:2013-12-06 19:58:19

标签: php mysql sql pdo

我花了不少时间研究,无法解决问题。因此寻求专家意见。

确切错误:

  

获取数据时出错:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在''LIMIT 0,10''

附近使用正确的语法

这是我的SQL:

$limit = 'LIMIT ' .($pn - 1) * $itemsPerPage .',' .$itemsPerPage; 

try
{
  $sql2 = 'SELECT CASE_JOB_TITLE, STATUS, CASE_WAGE  
           FROM EMPLOYEE
           WHERE LCA_CASE_EMPLOYER_NAME like "%MICROSOFT CORPORATION%" 
           ORDER BY         LCA_CASE_NUMBER ASC :limit';

  $sth2 =$pdo->prepare($sql2);
  $sth2->bindParam(':limit',$limit );
  $result2 = $sth2->execute();


}

我哪里错了?如果我在SQL编辑器中使用相同的查询,它工作正常。

2 个答案:

答案 0 :(得分:1)

编辑:没看到你的第一部分。试试这个:

应该看起来像:

$limit = ($pn - 1) * $itemsPerPage .',' .$itemsPerPage;

$sql2 = 'SELECT CASE_JOB_TITLE, STATUS, CASE_WAGE  
           FROM EMPLOYEE
           WHERE LCA_CASE_EMPLOYER_NAME like "%MICROSOFT CORPORATION%" 
           ORDER BY         LCA_CASE_NUMBER ASC LIMIT :limit';

答案 1 :(得分:0)

我通过删除带有字符串的绑定来解决它。我用的最后一组代码是ORDER BY LCA_CASE_NUMBER ASC LIMIT:limitFrom,40'; $ sth2 = $ pdo-> prepare($ sql2); $ sth2-> bindParam(':limitFrom -