質問編集履歴

3

更新

2019/01/24 05:38

投稿

akoro
akoro

スコア27

test CHANGED
File without changes
test CHANGED
@@ -178,7 +178,7 @@
178
178
 
179
179
  //プリペアドステートメント
180
180
 
181
- $stmt = $mysqli->prepare("INSERT INTO user (user_name,user_ad) VALUES (?,?)");
181
+ $stmt = $mysqli->prepare("INSERT INTO user_list (user_name,user_ad) VALUES (?,?)");
182
182
 
183
183
 
184
184
 
@@ -200,7 +200,7 @@
200
200
 
201
201
  echo "お名前は".htmlspecialchars($Name, ENT_QUOTES, 'UTF-8')."さん<br>";
202
202
 
203
- echo "メールアドレスは".htmlspecialchars($userAd, ENT_QUOTES, 'UTF-8')."<br>";
203
+ echo "メールアドレスは".htmlspecialchars($Ad, ENT_QUOTES, 'UTF-8')."<br>";
204
204
 
205
205
  echo "で登録いたしました。";
206
206
 

2

プログラミングの書き直し

2019/01/24 05:38

投稿

akoro
akoro

スコア27

test CHANGED
File without changes
test CHANGED
@@ -178,7 +178,7 @@
178
178
 
179
179
  //プリペアドステートメント
180
180
 
181
- $stmt = $mysqli->prepare("INSERT INTO user (user_name,user_ad) VALUES (?)");
181
+ $stmt = $mysqli->prepare("INSERT INTO user (user_name,user_ad) VALUES (?,?)");
182
182
 
183
183
 
184
184
 

1

状況更新

2019/01/24 05:37

投稿

akoro
akoro

スコア27

test CHANGED
File without changes
test CHANGED
@@ -145,3 +145,93 @@
145
145
  ?>
146
146
 
147
147
  ```
148
+
149
+
150
+
151
+ 回答をもとに変更してみました。
152
+
153
+ 以下のように記述しましたら、
154
+
155
+ 1136Column count doesn't match value count at row 1
156
+
157
+ のエラーが出ました。
158
+
159
+ 調べたところ、コラムの数が合わないのが原因のようなのですが、対処方法はありますでしょうか?
160
+
161
+ たしかにDBにはインデックスとしてauto_incrementでもう一つコラムは設定されています。
162
+
163
+
164
+
165
+ ```ここに言語を入力
166
+
167
+ <?php
168
+
169
+ $name=filter_input(INPUT_POST,"Name");
170
+
171
+ $ad=filter_input(INPUT_POST,"Ad");
172
+
173
+
174
+
175
+ //名前入力判定
176
+
177
+
178
+
179
+ //プリペアドステートメント
180
+
181
+ $stmt = $mysqli->prepare("INSERT INTO user (user_name,user_ad) VALUES (?)");
182
+
183
+
184
+
185
+ if($stmt){
186
+
187
+ //プレースホルダへ実際の値を設定する
188
+
189
+ $stmt->bind_param('s', $Name);
190
+
191
+ $stmt->bind_param('s', $Ad);
192
+
193
+ $Name = $_POST['Name'];
194
+
195
+ $Ad = $_POST['Ad'];
196
+
197
+
198
+
199
+ if($stmt->execute()){
200
+
201
+ echo "お名前は".htmlspecialchars($Name, ENT_QUOTES, 'UTF-8')."さん<br>";
202
+
203
+ echo "メールアドレスは".htmlspecialchars($userAd, ENT_QUOTES, 'UTF-8')."<br>";
204
+
205
+ echo "で登録いたしました。";
206
+
207
+ }else{
208
+
209
+ echo $stmt->errno . $stmt->error;
210
+
211
+ }
212
+
213
+
214
+
215
+ //ステートメント切断
216
+
217
+ $stmt->close();
218
+
219
+ }else{
220
+
221
+ echo $mysqli->errno . $mysqli->error;
222
+
223
+ }
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+ // データベース切断
232
+
233
+ $mysqli->close();
234
+
235
+ ?>
236
+
237
+ ```