teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

追記

2020/09/12 01:53

投稿

heypo
heypo

スコア3

title CHANGED
File without changes
body CHANGED
@@ -128,4 +128,14 @@
128
128
  ありがとうございます。
129
129
  ```PHP
130
130
  $prepare->bindValue(':offer_code', $post_choose_offer, PDO::PARAM_STR);
131
- ```
131
+ ```
132
+
133
+
134
+ ###解決
135
+
136
+ form側でスペースが混入していたのに気付きませんでした。
137
+ アホでした。
138
+ ```HTML
139
+ string(14) " 5f5383012c89e"
140
+ ```
141
+ 回答を頂いたみなさま、大変ありがとうございました。

4

追記

2020/09/12 01:52

投稿

heypo
heypo

スコア3

title CHANGED
File without changes
body CHANGED
@@ -74,4 +74,58 @@
74
74
  ```PHP
75
75
  (string)$post_choose_offer
76
76
  ```
77
- fetchAll を fetch でも変化なし。
77
+ fetchAll を fetch でも変化なし。
78
+
79
+
80
+
81
+
82
+ ###追記
83
+
84
+ var_dumpで出力した結果
85
+ ```PHP
86
+ var_dump($post_choose_offer);
87
+ ```
88
+
89
+ ```HTML
90
+ string(14) " 5f5383012c89e"
91
+ ```
92
+
93
+
94
+
95
+ 変数に文字列を入れてバインドした結果。
96
+ ```PHP
97
+ $post_choose_offer = "5f5383012c89e";
98
+ ```
99
+
100
+ こちらで欲しい情報が取れました。
101
+ ですので、バインドの問題では無いのかな?
102
+
103
+
104
+
105
+
106
+
107
+ ```PHP
108
+ $prepare->PDOStatement::debugDumpParams();
109
+ ```
110
+
111
+ こちらで出力すると
112
+ ```HTML
113
+ SQL: [54] SELECT * FROM offer WHERE offer_code = :offer_code
114
+ Params: 1
115
+ Key: Name: [11] :offer_code
116
+ paramno=0
117
+ name=[11] ":offer_code"
118
+ is_param=1
119
+ param_type=2
120
+
121
+ ```
122
+
123
+ 出力の内容をまだ理解して無いので、調べている途中です。
124
+
125
+
126
+
127
+ むやみにキャストしてはいけないとご意見を頂いたので、以下に変更しました。
128
+ ありがとうございます。
129
+ ```PHP
130
+ $prepare->bindValue(':offer_code', $post_choose_offer, PDO::PARAM_STR);
131
+ ```

3

マークダウン記法に変更

2020/09/12 01:26

投稿

heypo
heypo

スコア3

title CHANGED
File without changes
body CHANGED
@@ -10,7 +10,9 @@
10
10
 
11
11
  ### 発生している問題・エラーメッセージ
12
12
  出力が空で返ってきます。
13
+ ```PHP
13
14
  array(0) { }
15
+ ```
14
16
 
15
17
 
16
18
 
@@ -64,7 +66,12 @@
64
66
 
65
67
  ### 試したこと
66
68
  以下のコードで、バインドせずに直接文字列を入れると、DBから欲しい情報が返ってきます。
69
+ ```PHP
67
70
  $prepare = $pdo->prepare('SELECT * FROM offer WHERE offer_code = "5f5383012c89e"');
71
+ ```
68
72
 
69
- 念のためにPOSTを受けた直後にキャストもしましたが、変化なし。 (string)$post_choose_offer
73
+ 念のためにPOSTを受けた直後にキャストもしましたが、変化なし。 
74
+ ```PHP
75
+ (string)$post_choose_offer
76
+ ```
70
77
  fetchAll を fetch でも変化なし。

2

マークダウン記法に変更

2020/09/12 00:33

投稿

heypo
heypo

スコア3

title CHANGED
File without changes
body CHANGED
@@ -16,9 +16,14 @@
16
16
 
17
17
  ### 該当のソースコード
18
18
 
19
+
20
+
21
+ ```PHP
22
+ <?php
19
23
  $post_choose_offer = $_POST['choose_offer'];
20
24
 
21
25
  echo $post_choose_offer;
26
+
22
27
  □□□□□□□□□□ ここでは 5f5383012c89e が返ってきています。 □□□□□□□□□□
23
28
 
24
29
  try {
@@ -54,6 +59,7 @@
54
59
  var_dump($offer_data);
55
60
  □□□□□□□□□□ ここでarray(0) { }が返ってきています。 □□□□□□□□□□
56
61
 
62
+ ```
57
63
 
58
64
 
59
65
  ### 試したこと

1

誤字のため編集

2020/09/12 00:31

投稿

heypo
heypo

スコア3

title CHANGED
File without changes
body CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  ### 試したこと
60
60
  以下のコードで、バインドせずに直接文字列を入れると、DBから欲しい情報が返ってきます。
61
- $prepare = $pdo->prepare('SELECT * FROM fam_info WHERE offer_code = "5f5383012c89e"');
61
+ $prepare = $pdo->prepare('SELECT * FROM offer WHERE offer_code = "5f5383012c89e"');
62
62
 
63
63
  念のためにPOSTを受けた直後にキャストもしましたが、変化なし。 (string)$post_choose_offer
64
64
  fetchAll を fetch でも変化なし。