尽管参数已绑定,但执行预准备语句失败

时间:2016-10-20 18:24:29

标签: php mysql

    $pages = ceil ( $total / $resultsPerPage );

    $offset = ($page - 1) * $resultsPerPage;

    $stmt = $pdo->prepare ( 'SELECT *
                             FROM tableXYZ
                             LIMIT :limit
                             OFFSET :offset' );

    $stmt->execute ( array (
            'limit' => $resultsPerPage,
            'offset' => $offset 
    ) );
嘿,所以上面的代码是我指的那个。 我已经尝试过了:

  • 重命名参数
  • 使用了位置限制的( - >'?')

这不会导致任何结果,但会一遍又一遍地出现同样的错误:

Error as image

希望你能帮助我! :)

提前致谢!

1 个答案:

答案 0 :(得分:-1)

$stmt->execute ( array (
        'limit' => $resultsPerPage,
        'offset' => $offset 
) );

应该是

$stmt->execute ( array (
        ':limit' => $resultsPerPage,
        ':offset' => $offset 
) );

绑定数组中的键名需要与查询语句中使用的键名完全匹配。包括:符号。