php - 执行() SQLSTATE[HY093] : Invalid parameter number

标签 php mysql pdo

我的代码有问题,但我不明白! 这是我的代码中有问题的部分

$conn = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
$sql = "SELECT SQL_CALC_FOUND_ROWS *, UNIX_TIMESTAMP(publicationDate) AS publicationDate FROM NEWS order by " . mysql_real_escape_string($order) . " LIMIT :numROws";
$st = $conn -> prepare($sql);
$st -> bindValue(":numRows", $numRows, PDO::PARAM_INT);
$st -> execute();

如果不清楚,请告知。

最佳答案

看来您可能有一个简单的拼写错误。

在 SQL 中,您可以这样写:

...LIMIT :numROws";

但是你要绑定(bind):

$st -> bindValue(":numRows", $numRows, PDO::PARAM_INT);

PHP 区分大小写,因此 :numROws 和 :numRows 不同。

关于php - 执行() SQLSTATE[HY093] : Invalid parameter number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20930865/

相关文章:

mysql - 如果无需 JOIN 就可以从多个表中进行选择,为什么还要使用 JOIN?

javascript - 使用 PHP 仅替换 <form> 提交按钮中的(当前)<div> 内容

PHP 通过 URL 传递变量

php - 根据用户订阅计算月和日的记录

php - 使用 GCM 将推送通知发送到我的 Android 应用程序的所有设备

mysql - 按日期订购 2 张 table

PHP Composer - 无法在 macOS Sierra 上安装 Composer

php - 将数组添加到 php 变量

php - 使用 INNER JOIN/JOIN 进行多个查询

php - 内部联接给出空白页