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

質問編集履歴

3

更新

2019/01/24 05:38

投稿

akoro
akoro

スコア27

title CHANGED
File without changes
body CHANGED
@@ -88,7 +88,7 @@
88
88
  //名前入力判定
89
89
 
90
90
  //プリペアドステートメント
91
- $stmt = $mysqli->prepare("INSERT INTO user (user_name,user_ad) VALUES (?,?)");
91
+ $stmt = $mysqli->prepare("INSERT INTO user_list (user_name,user_ad) VALUES (?,?)");
92
92
 
93
93
  if($stmt){
94
94
  //プレースホルダへ実際の値を設定する
@@ -99,7 +99,7 @@
99
99
 
100
100
  if($stmt->execute()){
101
101
  echo "お名前は".htmlspecialchars($Name, ENT_QUOTES, 'UTF-8')."さん<br>";
102
- echo "メールアドレスは".htmlspecialchars($userAd, ENT_QUOTES, 'UTF-8')."<br>";
102
+ echo "メールアドレスは".htmlspecialchars($Ad, ENT_QUOTES, 'UTF-8')."<br>";
103
103
  echo "で登録いたしました。";
104
104
  }else{
105
105
  echo $stmt->errno . $stmt->error;

2

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

2019/01/24 05:38

投稿

akoro
akoro

スコア27

title CHANGED
File without changes
body CHANGED
@@ -88,7 +88,7 @@
88
88
  //名前入力判定
89
89
 
90
90
  //プリペアドステートメント
91
- $stmt = $mysqli->prepare("INSERT INTO user (user_name,user_ad) VALUES (?)");
91
+ $stmt = $mysqli->prepare("INSERT INTO user (user_name,user_ad) VALUES (?,?)");
92
92
 
93
93
  if($stmt){
94
94
  //プレースホルダへ実際の値を設定する

1

状況更新

2019/01/24 05:37

投稿

akoro
akoro

スコア27

title CHANGED
File without changes
body CHANGED
@@ -71,4 +71,49 @@
71
71
  // データベース切断
72
72
  $mysqli->close();
73
73
  ?>
74
+ ```
75
+
76
+ 回答をもとに変更してみました。
77
+ 以下のように記述しましたら、
78
+ 1136Column count doesn't match value count at row 1
79
+ のエラーが出ました。
80
+ 調べたところ、コラムの数が合わないのが原因のようなのですが、対処方法はありますでしょうか?
81
+ たしかにDBにはインデックスとしてauto_incrementでもう一つコラムは設定されています。
82
+
83
+ ```ここに言語を入力
84
+ <?php
85
+ $name=filter_input(INPUT_POST,"Name");
86
+ $ad=filter_input(INPUT_POST,"Ad");
87
+
88
+ //名前入力判定
89
+
90
+ //プリペアドステートメント
91
+ $stmt = $mysqli->prepare("INSERT INTO user (user_name,user_ad) VALUES (?)");
92
+
93
+ if($stmt){
94
+ //プレースホルダへ実際の値を設定する
95
+ $stmt->bind_param('s', $Name);
96
+ $stmt->bind_param('s', $Ad);
97
+ $Name = $_POST['Name'];
98
+ $Ad = $_POST['Ad'];
99
+
100
+ if($stmt->execute()){
101
+ echo "お名前は".htmlspecialchars($Name, ENT_QUOTES, 'UTF-8')."さん<br>";
102
+ echo "メールアドレスは".htmlspecialchars($userAd, ENT_QUOTES, 'UTF-8')."<br>";
103
+ echo "で登録いたしました。";
104
+ }else{
105
+ echo $stmt->errno . $stmt->error;
106
+ }
107
+
108
+ //ステートメント切断
109
+ $stmt->close();
110
+ }else{
111
+ echo $mysqli->errno . $mysqli->error;
112
+ }
113
+
114
+
115
+
116
+ // データベース切断
117
+ $mysqli->close();
118
+ ?>
74
119
  ```