質問: $db->prepare("INSERT INTO com_reply_comment (member_id,community_id,comment,created) VALUE (?,?,?,NOW())"); $insert_com_reply->execute(array( $member['id'], $_GET['id'], $reply['com_comment'] )); var_dump($member['id'],$_GET['id'],$reply['com_comment']); exit(); header('Location: com_detail.php?id='.$_GET['id']); exit(); } ``` そして、HTMLのformになります。 ``` コメント 投稿する ``` 下記がここにINSERTするために使用しているテーブルになります。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/298e11f50d55c4aa612c50ce20a584c0.png)(communityのテーブル) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/e27f2c220789dd6440801914a42d1bb7.png)(ユーザー管理のテーブル) ここまでが、データ格納に使うテーブルです。 下が、データを格納するテーブルです。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/93dcf91e845b40bfb0ef52b1ea0774a0.png) 最後に、INSERTにつかうmember['id']とcommunity['id']そして、commentはvar_dump()で取得できました。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/ba7cbc1f41207389c27d5405db6c8688.png) 以下が全ソースになります ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/46bfb56d83907a449e19f95d6d536d56.png)
回答: 示された現象のみ捉えて表層的な、ありがちなシチュエーションをいくつか考えてみた。 1.DB接続が失敗している。 →対策として、シンプルなDB接続テストコードを書いて検証。 →DB接続処理を含んだtry-catchを徹底して例外をキャッチしてエラー出力丁寧に対応する。 2.bindする実行時パラメータが不正である可能性。 →対策として、直に`$_GET`とか参照せず検証して不正なデータを含まないことを確認するように丁寧に書く。 →その他、与えている実行時パラメータは大丈夫なのか点検。 3.オートコミットモードではない接続で、コミットしていない。 →対策として、PHP: PDO::beginTransaction - ManualやPHP: PDO::commit - Manualを駆使してDBへの反映を明示する。