回答編集履歴

1

追記

2022/03/08 17:18

投稿

tanat
tanat

スコア18778

test CHANGED
@@ -48,6 +48,26 @@
48
48
  今回のエラーは
49
49
  `実行される SQL 文の中のバインドパラメータと同数の要素からなる、 値の配列。`のところを無視して引数を三つ与えていることが原因だと分かります。
50
50
 
51
+ また、サンプルコードもよく読んでみましょう。
52
+ 今回のケースだと
53
+
54
+ 例3 位置を指定した値を伴うプリペアドステートメントの実行
55
+
56
+ ```PHP
57
+ <?php
58
+ /* 入力値の配列を伴うプリペアドステートメントの実行 */
59
+ $calories = 150;
60
+ $colour = 'red';
61
+ $sth = $dbh->prepare('SELECT name, colour, calories
62
+ FROM fruit
63
+ WHERE calories < ? AND colour = ?');
64
+ $sth->execute(array($calories, $colour));
65
+ ?>
66
+
67
+ ```
68
+
69
+ が参考になります。(ここでは配列の定義が古い記法で記述されていますが、`array($calories, $colour)`と`[$calories, $colour]`は同じ意味を持ちます)
70
+
51
71
  お勧め
52
72
  ---
53
73