回答編集履歴

1

順番待ち替えが原因と確定したので追記

2018/01/27 11:24

投稿

退会済みユーザー
test CHANGED
@@ -55,3 +55,41 @@
55
55
 
56
56
 
57
57
  比較した
58
+
59
+
60
+
61
+
62
+
63
+ # 順番待ち替え対策
64
+
65
+ ```
66
+
67
+ <?php
68
+
69
+ /* バインドされた PHP 変数によってプリペアドステートメントを実行する */
70
+
71
+ $calories = 150;
72
+
73
+ $colour = 'red';
74
+
75
+ $sth = $dbh->prepare('
76
+
77
+ SELECT name, colour, calories
78
+
79
+ FROM fruit
80
+
81
+ WHERE calories < :calories AND colour = :colour');
82
+
83
+ $sth->bindValue(':calories', $calories, PDO::PARAM_INT);
84
+
85
+ $sth->bindValue(':colour', $colour, PDO::PARAM_STR);
86
+
87
+ $sth->execute();
88
+
89
+ ```
90
+
91
+ のように namebind を利用しましょう
92
+
93
+
94
+
95
+ `?` の代わりに `:bindname` のように `:` と `項目名` を結合して bindValue の第一引数に `:bindname` を設定しましょう。