質問編集履歴

5

追記

2020/09/12 01:53

投稿

heypo
heypo

スコア3

test CHANGED
File without changes
test CHANGED
@@ -259,3 +259,23 @@
259
259
  $prepare->bindValue(':offer_code', $post_choose_offer, PDO::PARAM_STR);
260
260
 
261
261
  ```
262
+
263
+
264
+
265
+
266
+
267
+ ###解決
268
+
269
+
270
+
271
+ form側でスペースが混入していたのに気付きませんでした。
272
+
273
+ アホでした。
274
+
275
+ ```HTML
276
+
277
+ string(14) " 5f5383012c89e"
278
+
279
+ ```
280
+
281
+ 回答を頂いたみなさま、大変ありがとうございました。

4

追記

2020/09/12 01:52

投稿

heypo
heypo

スコア3

test CHANGED
File without changes
test CHANGED
@@ -151,3 +151,111 @@
151
151
  ```
152
152
 
153
153
  fetchAll を fetch でも変化なし。
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ ###追記
164
+
165
+
166
+
167
+ var_dumpで出力した結果
168
+
169
+ ```PHP
170
+
171
+ var_dump($post_choose_offer);
172
+
173
+ ```
174
+
175
+
176
+
177
+ ```HTML
178
+
179
+ string(14) " 5f5383012c89e"
180
+
181
+ ```
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+ 変数に文字列を入れてバインドした結果。
190
+
191
+ ```PHP
192
+
193
+ $post_choose_offer = "5f5383012c89e";
194
+
195
+ ```
196
+
197
+
198
+
199
+ こちらで欲しい情報が取れました。
200
+
201
+ ですので、バインドの問題では無いのかな?
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+ ```PHP
214
+
215
+ $prepare->PDOStatement::debugDumpParams();
216
+
217
+ ```
218
+
219
+
220
+
221
+ こちらで出力すると
222
+
223
+ ```HTML
224
+
225
+ SQL: [54] SELECT * FROM offer WHERE offer_code = :offer_code
226
+
227
+ Params: 1
228
+
229
+ Key: Name: [11] :offer_code
230
+
231
+ paramno=0
232
+
233
+ name=[11] ":offer_code"
234
+
235
+ is_param=1
236
+
237
+ param_type=2
238
+
239
+
240
+
241
+ ```
242
+
243
+
244
+
245
+ 出力の内容をまだ理解して無いので、調べている途中です。
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+ むやみにキャストしてはいけないとご意見を頂いたので、以下に変更しました。
254
+
255
+ ありがとうございます。
256
+
257
+ ```PHP
258
+
259
+ $prepare->bindValue(':offer_code', $post_choose_offer, PDO::PARAM_STR);
260
+
261
+ ```

3

マークダウン記法に変更

2020/09/12 01:26

投稿

heypo
heypo

スコア3

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,11 @@
22
22
 
23
23
  出力が空で返ってきます。
24
24
 
25
+ ```PHP
26
+
25
27
  array(0) { }
28
+
29
+ ```
26
30
 
27
31
 
28
32
 
@@ -130,10 +134,20 @@
130
134
 
131
135
  以下のコードで、バインドせずに直接文字列を入れると、DBから欲しい情報が返ってきます。
132
136
 
137
+ ```PHP
138
+
133
139
  $prepare = $pdo->prepare('SELECT * FROM offer WHERE offer_code = "5f5383012c89e"');
140
+
141
+ ```
134
142
 
135
143
 
136
144
 
137
- 念のためにPOSTを受けた直後にキャストもしましたが、変化なし。 (string)$post_choose_offer
145
+ 念のためにPOSTを受けた直後にキャストもしましたが、変化なし。 
146
+
147
+ ```PHP
148
+
149
+ (string)$post_choose_offer
150
+
151
+ ```
138
152
 
139
153
  fetchAll を fetch でも変化なし。

2

マークダウン記法に変更

2020/09/12 00:33

投稿

heypo
heypo

スコア3

test CHANGED
File without changes
test CHANGED
@@ -34,11 +34,21 @@
34
34
 
35
35
 
36
36
 
37
+
38
+
39
+
40
+
41
+ ```PHP
42
+
43
+ <?php
44
+
37
45
  $post_choose_offer = $_POST['choose_offer'];
38
46
 
39
47
 
40
48
 
41
49
  echo $post_choose_offer;
50
+
51
+
42
52
 
43
53
  □□□□□□□□□□ ここでは 5f5383012c89e が返ってきています。 □□□□□□□□□□
44
54
 
@@ -110,6 +120,8 @@
110
120
 
111
121
 
112
122
 
123
+ ```
124
+
113
125
 
114
126
 
115
127
 

1

誤字のため編集

2020/09/12 00:31

投稿

heypo
heypo

スコア3

test CHANGED
File without changes
test CHANGED
@@ -118,7 +118,7 @@
118
118
 
119
119
  以下のコードで、バインドせずに直接文字列を入れると、DBから欲しい情報が返ってきます。
120
120
 
121
- $prepare = $pdo->prepare('SELECT * FROM fam_info WHERE offer_code = "5f5383012c89e"');
121
+ $prepare = $pdo->prepare('SELECT * FROM offer WHERE offer_code = "5f5383012c89e"');
122
122
 
123
123
 
124
124