PDOを使い、「名前付きプレースホルダ」を使ってデータをINSERTしたいのですが、
カラム名にハイフンが入っているせいで、以下のエラーが出ます。
SQLSTATE[HY093]: Invalid parameter number: :original-price
PHP
1$sql = 'INSERT INTO tbl_sample VALUES (:code, :original-price);'; 2$stmt = $dbh->prepare($sql); 3$stmt->bindValue(':code', $code, PDO::PARAM_STR); 4$stmt->bindValue(':original-price', $original-price, PDO::PARAM_INT);
「疑問符プレースホルダ」を使えば上手く行くのですが…
実際のコードではカラム数が多い為、あまり疑問符ではやりたくなくて…
カラム名にハイフンが入っている時、「名前付きプレースホルダ」を使って
DB操作するには、どうしたらよいのでしょうか?
クォート(シングル、ダブル)で括ってみたり、
バッククォートで括ってみたりしてみましたが、
上手く行きませんでした。
※ そもそも、カラム名にハイフンを入れる事が問題であることは、重々承知しています…
開発環境は、以下の通りです。
PostgreSQL 12.7
PHP 7.4.20
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/23 07:55