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

質問編集履歴

1

実装したい機能の詳細、コード追加

2018/08/05 12:50

投稿

ShimoK
ShimoK

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,1 +1,20 @@
1
- PHPで掲示板を作っています。更新機能を付けようと思っているのですが必ずPDOを使用してUPDATE文使うんですか?逆に使わなでUPDATEする法があるのなら教えていただきたいです。
1
+ PHPで掲示板を作っています。mysqliを使って入力されたデータに書き換える(投稿内容編集機能)処理ってい。しかし、自分なりに考えてやってみましたエラーが出てしまいます。mysqliを使の正しいUPDATE文使い方教えていただければ幸いです。
2
+ ```PHP
3
+ if ((!empty($_POST['name']) && !empty($_POST['muscle_level'])) && (!empty($_POST['muscle_genre']) && !empty($_POST['messages']))) { //投稿欄が記入されている場合
4
+ //XSSの対策
5
+ $bbd_id2 = $mysqli->real_escape_string($_POST["bbd_id2"]);
6
+ $name = $mysqli->real_escape_string($_POST['name']);
7
+ $muscle_level = $mysqli->real_escape_string($_POST['muscle_level']);
8
+ $muscle_genre = $mysqli->real_escape_string($_POST['muscle_genre']);
9
+ $messages = $mysqli->real_escape_string($_POST['messages']);
10
+ $change_pass = $mysqli->real_escape_string($_POST['change_pass']);
11
+ //changeでデータベースのデータを鼓往診
12
+ $change = $mysqli->query("UPDATE `message` SET (`name` = '{$name}' , `muscle_level` = '{$muscle_level}' , `muscle_genre` = '{$muscle_genre}' ,
13
+ `messages` = '{$messages}' WHERE `bbd_id` = '{$bbd_id2}')");
14
+ if (!$change) { // change文におけるエラー処理
15
+ printf("%s\n", $mysqli->error);
16
+ exit();
17
+ }
18
+ echo '<script> alert("登録が完了しました。"); location.href="muscle_bbd.php"; </script>';
19
+ }
20
+ ```