質問編集履歴

2

内容の変更

2017/10/19 02:42

投稿

bigin
bigin

スコア67

test CHANGED
@@ -1 +1 @@
1
- phpで$_POSTsql文入れるやり方
1
+ フォームから送ったデータデータベースから引っ張ってきて、ブラウザ反映させたい
test CHANGED
@@ -48,42 +48,160 @@
48
48
 
49
49
  ここで選択した値が入っているカラムを全て表示させたいと考えています。
50
50
 
51
- 以下そのためのphpの一部分です。
51
+ 以下そのためのphpです。
52
52
 
53
53
 
54
54
 
55
55
  ```ここに言語を入力
56
56
 
57
+ <!DOCTYPE html>
58
+
59
+ <html lang = "ja">
60
+
61
+ <head>
62
+
63
+ <meta charset ="UTF-8">
64
+
65
+ <tittle>登録ページ</tittle>
66
+
67
+ </head>
68
+
69
+ <body>
70
+
71
+ <table border='1' class="TableStyle1" width="1000">
72
+
73
+ <tr>
74
+
75
+ <th>名称</th>
76
+
77
+ <th>都道府県</th>
78
+
79
+ <th>市区町村</th>
80
+
81
+ <th>番地</th>
82
+
83
+ <th>区分</th>
84
+
85
+ <th>電話番号</th>
86
+
87
+ <th>担当者名</th>
88
+
89
+ <th>部数</th>
90
+
91
+ <th>設置/配布</th>
92
+
93
+ <th>消去</th>
94
+
95
+ </tr>
96
+
97
+
98
+
99
+ <?php
100
+
101
+ $dsn = 'mysql:dbname=delivery_list;host=127.0.0.1';
102
+
103
+ $usr = 'root';
104
+
105
+ $passwd = '';
106
+
107
+ try{
108
+
57
109
  $db = new PDO($dsn,$usr,$passwd);
58
110
 
59
111
  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
60
112
 
61
- $sql= 'SELECT * FROM zenkoku where prefecture like $_POST['prefecture']';
113
+ $sql= 'SELECT * FROM zenkoku where prefecture like :prefecture';
62
-
114
+
63
- $stmt=$db->query($sql);
115
+ $stmt=$db->prepare($sql);
116
+
117
+ $stmt ->bindParam(':prefecture',filter_input(INPUT_POST,'prefecture'),PDO::PARAM_STR);
118
+
119
+ $stmt->execute();
120
+
121
+ $users = $stmt -> fetchAll(PDO::FETCH_ASSOC);
122
+
123
+ foreach($users as $user){
124
+
125
+ ?>
126
+
127
+ <tr>
128
+
129
+ <td><?php echo $user['name'];?></td>
130
+
131
+ <td><?php echo $user['prefecture'];?></td>
132
+
133
+ <td><?php echo $user['city'];?></td>
134
+
135
+ <td><?php echo $user['address'];?></td>
136
+
137
+ <td><?php echo $user['type'];?></td>
138
+
139
+ <td><?php echo $user['tel'];?></td>
140
+
141
+ <td><?php echo $user['person_name'];?></td>
142
+
143
+ <td><?php echo $user['copies'];?></td>
144
+
145
+ <td><?php echo $user['set_type'];?></td>
146
+
147
+ </tr>
148
+
149
+ <?php
150
+
151
+ echo $user;
152
+
153
+ }
154
+
155
+ }catch(PDOException $e){
156
+
157
+ echo $e->getMessage();
158
+
159
+ exit;
160
+
161
+ }
162
+
163
+ ?>
164
+
165
+ </body>
166
+
167
+ </html>
64
168
 
65
169
  ```
66
170
 
171
+
172
+
67
173
  すでにprefectureのカラムを作っていて、そこからPOSTした値と同じものを出力したいです。
68
174
 
69
175
 
70
176
 
71
- ただ、上記$sql内のlike以下```$_POST['prefecture']```の正しい表記がわかりません。
72
-
73
- 上記ではエラーがでます。以下です。
177
+ 以下はtableのカです。
74
-
75
-
76
178
 
77
179
  ```ここに言語を入力
78
180
 
79
- Parse error: parse error in /Library/WebServer/Documents/answer.php on line 30
181
+ | id | name | prefecture | city | address | type | tel | person_name | copies | set_type |
182
+
183
+
80
184
 
81
185
  ```
82
186
 
83
187
 
84
188
 
189
+
190
+
191
+ こちらは反映したブラウザです。
192
+
193
+ 内容が表示されていません。
194
+
195
+
196
+
85
- 何故```$_POST['prefecture']```ではだめなのでしょうか?
197
+ ![![イメージ説明](52a41d16ba0603bf80494f2fae1e2cb4.png)](2b2e3169f0ce4016f1710788a9821b92.png)
198
+
199
+
200
+
201
+
202
+
203
+
204
+
86
-
205
+ もし、原因がわかればご教示いただけますと幸いです。
87
-
88
206
 
89
207
  よろしくお願いいたします。

1

エラーの追加

2017/10/19 02:42

投稿

bigin
bigin

スコア67

test CHANGED
File without changes
test CHANGED
@@ -68,13 +68,21 @@
68
68
 
69
69
 
70
70
 
71
- ただ、上記$sqlないのlike以下```$_POST['prefecture']```の正しい表記がわかりません。
71
+ ただ、上記$sqlのlike以下```$_POST['prefecture']```の正しい表記がわかりません。
72
72
 
73
- 上記ではエラーがでます。
73
+ 上記ではエラーがでます。以下エラーです。
74
74
 
75
75
 
76
76
 
77
+ ```ここに言語を入力
78
+
79
+ Parse error: parse error in /Library/WebServer/Documents/answer.php on line 30
80
+
81
+ ```
82
+
83
+
84
+
77
- ダメ```$_POST['prefecture']```ではだめなのでしょうか?
85
+ 何故```$_POST['prefecture']```ではだめなのでしょうか?
78
86
 
79
87
 
80
88