小编Suj*_*tha的帖子

在MySQL查询的LIMIT子句中使用占位符时出现PHP PDO错误

$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());
}
Run Code Online (Sandbox Code Playgroud)

我在这里得到错误:

查询失败:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"5"附近使用正确的语法.

LIMIT :startRow, :numRows中有问题:numRows.

我曾经尝试都$st->bindParam$st->bindValue,两人都没有工作.

php mysql pdo

8
推荐指数
1
解决办法
702
查看次数

标签 统计

mysql ×1

pdo ×1

php ×1