gpt4 book ai didi

php - 为什么我在使用命名参数时会看到 "invalid parameter number"错误?

转载 作者:行者123 更新时间:2023-11-29 06:23:28 25 4
gpt4 key购买 nike

当我使用 PDO 执行此 SQL 查询时出现此错误:

Invalid parameter number: parameter was not defined.

我看不到我需要在我的代码中更改什么。

这是我的代码:

$req = $this->manager->dao->prepare('UPDATE pronostics 
SET draw_lottery = :drawLottery, result_rank = :resultRank
WHERE draw_date = :drawDate AND id_user = :IdUser
AND lottery_name = :lotteryName');

$req->bindParam(':idUser', $idUser, PDO::PARAM_INT);
$req->bindParam(':drawLottery', $drawLottery, PDO::PARAM_STR);
$req->bindParam(':resultRank', $resultRank, PDO::PARAM_INT);
$req->bindParam(':drawDate', $drawDate, PDO::PARAM_STR);
$req->bindParam(':lotteryName', $lotteryName, PDO::PARAM_STR);
$req->execute();

你能告诉我缺少哪个参数吗?

最佳答案

bindParam 字符串区分大小写,因此 :idUser 在您的查询和您的 bindParam 参数中必须以相同的方式大写。

$req = $this->manager->dao->prepare('UPDATE pronostics 
SET draw_lottery = :drawLottery, result_rank = :resultRank
WHERE draw_date = :drawDate AND id_user = :idUser AND lottery_name = :lotteryName');
$req->bindParam(':idUser', $idUser, PDO::PARAM_INT);
$req->bindParam(':drawLottery', $drawLottery, PDO::PARAM_STR);
$req->bindParam(':resultRank', $resultRank, PDO::PARAM_INT);
$req->bindParam(':drawDate', $drawDate, PDO::PARAM_STR);
$req->bindParam(':lotteryName', $lotteryName, PDO::PARAM_STR);
$req->execute();

关于php - 为什么我在使用命名参数时会看到 "invalid parameter number"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32289782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com