php致命错误:uncaughtpdoexception:sqlstate[42000]:语法错误或访问冲突:1064您的sql语法有错误

s5a0g9ez  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(428)

我试图创建一个分页脚本,但下面几行似乎不起作用,导致页面无法加载。

$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致命错误:uncaughtpdoexception:sqlstate[42000]:语法错误或访问冲突:1064您的sql语法有错误
我一直试图通过将bindparam改为bindvalue,添加pdo::param_int来修复它,但它不会修复。
谢谢,本·j

f8rj6qna

f8rj6qna1#

很可能你会得到一些变量的负值 :startf 以及 :limitsLIMIT 条款。
一个limit子句,用于指定要返回的记录数,这些记录数(在本例中为两个)都是非负整数值。
sql fiddle演示

相关问题