![](/img/trans.png)
[英]Laravel - Invalid parameter number: parameter was not defined [Named Parameters Error]
[英]Why am I seeing an “invalid parameter number” error when using named parameters?
使用PDO執行此SQL查詢時出現此錯誤:
無效的參數編號:參數未定義。
我看不到我需要在代碼中更改的內容。
這是我的代碼:
$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();
在您的UPDATE
查詢中,您說了AND id_user = :IdUser
而在定義參數時,名稱是不同的,可以看到$req->bindParam(':idUser'
。我相信這是錯誤。應該與查詢$req->bindParam(':IdUser'
提到的相同$req->bindParam(':IdUser'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.