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

回答編集履歴

3

gender is string

2019/06/14 04:27

投稿

hide0128
hide0128

スコア245

answer CHANGED
@@ -3,9 +3,9 @@
3
3
  $name = filter_input(INPUT_POST, 'Name');
4
4
  $gender = filter_input(INPUT_POST, 'Gender');
5
5
  $id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);
6
- if ($name && $id && !empty($gender)) {
6
+ if ($name && $id && $gender) {
7
7
  $stmt = $mysqli->prepare("UPDATE studentinfo SET Name=?, Gender=? WHERE id=?");
8
- $stmt->bind_param('sii', $name, $gender, $id);
8
+ $stmt->bind_param('ssi', $name, $gender, $id);
9
9
  ...
10
10
  }
11
11
  ```

2

gender

2019/06/14 04:27

投稿

hide0128
hide0128

スコア245

answer CHANGED
@@ -1,11 +1,11 @@
1
1
  こんな感じでいかがでしょうか?
2
2
  ```php
3
-
4
3
  $name = filter_input(INPUT_POST, 'Name');
4
+ $gender = filter_input(INPUT_POST, 'Gender');
5
5
  $id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);
6
- if ($name && $id) {
6
+ if ($name && $id && !empty($gender)) {
7
- $stmt = $mysqli->prepare("UPDATE studentinfo SET Name=? WHERE id=?");
7
+ $stmt = $mysqli->prepare("UPDATE studentinfo SET Name=?, Gender=? WHERE id=?");
8
- $stmt->bind_param('si', $name, $id);
8
+ $stmt->bind_param('sii', $name, $gender, $id);
9
9
  ...
10
10
  }
11
11
  ```

1

mysqli

2019/06/14 04:24

投稿

hide0128
hide0128

スコア245

answer CHANGED
@@ -1,14 +1,11 @@
1
1
  こんな感じでいかがでしょうか?
2
2
  ```php
3
- //(注)$_POSTはバリデーションしてから使いましょう
4
- $stmt = $mysqli->prepare("UPDATE studentinfo SET Name=? WHERE id=?");
5
- $sth->bindParam(1, $_POST['Name']);
6
- $sth->bindParam(2, $_POST['id'], PDO::PARAM_INT); //intだと仮定しています
7
3
 
4
+ $name = filter_input(INPUT_POST, 'Name');
5
+ $id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT);
8
- //名前付きプレースホルダがお勧め
6
+ if ($name && $id) {
9
- $stmt = $mysqli->prepare("UPDATE studentinfo SET Name=:Name WHERE id=:id");
7
+ $stmt = $mysqli->prepare("UPDATE studentinfo SET Name=? WHERE id=?");
10
- $stmt->execute(array(':Name' => $_POST['Name'], ':id' => $_POST['id']));
11
- //bindParamなら
12
- $sth->bindParam(':Name', $_POST['Name']);
8
+ $stmt->bind_param('si', $name, $id);
13
- $sth->bindParam(':id', $_POST['id'], PDO::PARAM_INT);
9
+ ...
10
+ }
14
11
  ```