回答編集履歴
2
見直し
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
見直し
test
CHANGED
@@ -38,13 +38,53 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
|
41
|
+
テーブルpostsの構造を見ると、
|
42
42
|
|
43
|
-
|
43
|
+
Nullが許されない、かつ自動で値が詰められないカラムが
|
44
44
|
|
45
|
-
|
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
|
|