php - PDO关于LIMIT的bindParam问题

标签 php mysql pdo

我有一个关于 PDO 的问题。 此代码块有效

$MyQuery = $db->prepare("UPDATE project
SET
PeopleId=:PID,
UserId=:UID
WHERE
PeopleId=:PeopleId
AND
UserID=:UserID
AND
(
                alpha = 0
                OR alpha IS NULL
            )  LIMIT ".$Adet);

            $MyQuery->bindParam(":PID", $PID, PDO::PARAM_INT);
            $MyQuery->bindParam(":UID", $UID, PDO::PARAM_INT);
            $MyQuery->bindParam(":PeopleId", $PeopleId, PDO::PARAM_INT);
            $MyQuery->bindParam(":UserID", $UserID, PDO::PARAM_INT);
            $MyQuery->execute();

但是没有成功。

$MyQuery = $db->prepare("UPDATE project
SET
PeopleId=:PID,
UserId=:UID
WHERE
PeopleId=:PeopleId
AND
UserID=:UserID
AND
(
                alpha = 0
                OR alpha IS NULL
            )  LIMIT :Count");

            $MyQuery->bindParam(":PID", $PID, PDO::PARAM_INT);
            $MyQuery->bindParam(":UID", $UID, PDO::PARAM_INT);
            $MyQuery->bindParam(":PeopleId", $PeopleId, PDO::PARAM_INT);
            $MyQuery->bindParam(":UserID", $UserID, PDO::PARAM_INT);
            $MyQuery->bindParam(":Count",$Count, PDO::PARAM_INT);
            $MyQuery->execute();

我的错在哪里?我什么也没找到。我猜有一个错误。我将 $Count 转换为 Integer 但它不再起作用。 谁能帮我解决这个问题吗?

最佳答案

强制 $Count 变量为整数,

$MyQuery->bindParam(":Count", (int) $Count, PDO::PARAM_INT);

也许也修剪一下:(在 Muhammed Almaz tnx 的评论后编辑:D)

$Count = trim($Count)    
$MyQuery->bindParam(":Count", (int) $Count, PDO::PARAM_INT);

关于php - PDO关于LIMIT的bindParam问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41510639/

相关文章:

php - MySQL轮怪异的bug

mysql - 在 Rails + MySQL 中存储百分比

mysql - 如何在 mysql 正则表达式中匹配大写字母ÅÄÖ

Java Spring : What is best way to do a mysql query using an IN clause using JdbcTemplates?

php - urlencode 问题

php - Informix 的变量绑定(bind)返回错误

php - 如果 Codeigniter 表单中留空,如何保持值不变

php - 使用 PDO 在两个数据库之间传输 mysql 表

php - 同时使用 PDO 准备好的语句和 filter_var?

php - 如何用 PHP 交换字符串中两个不同字符的值? A变成B,B变成A