PHP致命错误:未捕获的PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误

时间:2018-06-30 16:14:04

标签: php mysql sql pdo

我正在尝试创建一个分页脚本,但以下几行似乎无法正常工作,导致页面无法加载。

 $limit = 20;

$start_from = ($page - 1) * $limit;

$stmt = $conn->prepare("SELECT * FROM logs ORDER BY id ASC LIMIT :startf, :limits");
$stmt->bindValue(":startf", $start_from, PDO::PARAM_INT);
$stmt->bindValue(":limits", $limit, PDO::PARAM_INT);
$stmt->execute();

我得到的错误是

  

PHP致命错误:未捕获的PDOException: SQLSTATE [42000]:语法错误   或访问冲突:1064您的SQL语法有错误

我一直在尝试通过将bindParam更改为bindValue并添加PDO :: PARAM_INT来解决此问题,但此问题无法解决。

谢谢, 本杰

1 个答案:

答案 0 :(得分:1)

很可能您会获得:startf子句的变量:limitsLIMIT的一些负值。

  

LIMIT 子句,用于指定要记录的数量   返回,并且那些(在您的情况下为两个)非负整数值。

SQL Fiddle Demo