【发布时间】:2015-08-04 01:33:15
【问题描述】:
$sql = "SELECT sql_calc_found_rows * FROM members".
" ORDER BY username LIMIT :startRow, :numRows";
try {
$st = $conn->prepare($sql);
$st->bindParam(":startRow", $startRow, PDO::PARAM_INT);
$st->bindParam(":numRows", $numRows, PDO::PARAM_INT);
$st->execute();
} catch (PDOException $e) {
die("Query failed: " . $e->getMessage());
}
这里出现错误:
查询失败:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“5”附近使用的正确语法。
LIMIT :startRow, :numRows 在:numRows 中有问题。
$st->bindParam 和$st->bindValue 我都试过了,都不行。
【问题讨论】:
-
你可以尝试删除
:startRow, :numRows之间的空白 -
选择 sql_calc_found_rows * FROM ??这是什么?
-
Jens,我试过了,但它不起作用。它只在 :numRows 中显示问题。
-
错误是因为 $order 请输入静态值进行测试。休息一切看起来都很完美
-
$order 的 Danyal 值是“用户名”,而 sql_calc_found_rows 是我猜想检索表中行数的 sql 函数