カテゴリー:
Fatal error
閲覧数:293 配信日:2022-08-25 17:40
遭遇例 2
エラーメッセージ
( ! ) Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /XXX/core/DbRepository.php on line 42
エラー発生するコード
public function insertImgByTagId($tagId,$filename,$ext)
{
$sql = "UPDATE tag
SET filename=:filename,ext=: ext
WHERE tag_id=:tag_id";
$stmt = $this->execute($sql, array(
':tag_id' => $tagId,
':filename' => $filename,
':ext' => $ext,
));
}
デバッグ表示したSQL文
余計な空白
UPDATE tag SET filename=:filename,ext=: ext WHERE tag_id=:tag_id
修正例
修正前。「:」と「ext」の間に、余計な空白がある。
UPDATE tag
SET filename=:filename,ext=: ext
WHERE tag_id=:tag_id";
修正後
UPDATE tag
SET filename=:filename,ext=:ext
WHERE tag_id=:tag_id";