回答編集履歴

2

見直し

2019/05/17 01:18

投稿

退会済みユーザー
test CHANGED
@@ -86,6 +86,12 @@
86
86
 
87
87
  そのときの挙動として今回の問題が起きているような気がします。
88
88
 
89
+ **テーブルposts上でカラムreply_post_idはint型なので、
90
+
91
+ 空欄は許されません**ので。
92
+
93
+ せめてゼロを詰めるとか、NULLを許可するなどしないといけないのではないかと。
94
+
89
95
 
90
96
 
91
97
  もしもApache上でphpを実行しているなら、

1

見直し

2019/05/17 01:18

投稿

退会済みユーザー
test CHANGED
@@ -38,13 +38,53 @@
38
38
 
39
39
 
40
40
 
41
- dbconnect.php 中でどういうことしてデータベース接続していのか
41
+ テーブルposts構造
42
42
 
43
- ちゃんと接続きてるのか、
43
+ Nullが許されない、かつ自動値が詰められなカラムが
44
44
 
45
- テーブル posts がどういう構造なのかなどひとつひとつ確認しないと
45
+ message
46
46
 
47
+ member_id
48
+
49
+ reply_post_id
50
+
51
+ の3つです。
52
+
53
+ これらを引き渡すために
54
+
55
+ $member['id'],
56
+
57
+ $_POST['message'],
58
+
59
+ $_POST['reply_post_id']
60
+
61
+ を渡していますが、ちゃんとこれらのパラメータを受信できているか検証しないと
62
+
47
- ズバな回答にならないです。
63
+ クエー実行時エラーになります。
64
+
65
+ ```php
66
+
67
+ if (isset($_POST['message']) && isset($_POST['reply_post_id'])) {
68
+
69
+ }
70
+
71
+ ```
72
+
73
+ くらいは最低限やらないといけません。
74
+
75
+ POST送信するフォーム上で、
76
+
77
+ ```
78
+
79
+ <input type="hidden" name="reply_post_id" value="<?php echo h($_REQUEST['res']); ?>" />
80
+
81
+ ```
82
+
83
+ としていますが、そもそも`$_REQUEST['res']`に値が入っているのかどうか、
84
+
85
+ 入っていないときにここが空欄になりますが、
86
+
87
+ そのときの挙動として今回の問題が起きているような気がします。
48
88
 
49
89
 
50
90