コード
if(isset($_POST['post_comment_submit'])){
//Get all values
$uid = $_SESSION['user']['id'];
$pid = $_POST['pid'];
$rid = $_POST['rid'];
$cmt = $_POST['post_reply_content'];
$date = date('c');
//Check that comment is not empty
if(empty($cmt)){
header('location: ../post.php?id='.$pid.'&error=incomplete');
exit;
}
//Connect to database
include "../inc/connect.php";
//Prepare statement
$stmt = $dbh->prepare("INSERT INTO `post_comments` (`user_id`,`post_id`,`reply_id`,`comment`,`date`) VALUES (:uid, :pid, :rid :cmt, :date)");
//Bind values
$stmt->bindParam(":uid", $uid);
$stmt->bindParam(":pid", $pid);
$stmt->bindParam(":rid", $rid);
$stmt->bindParam(":cmt", $cmt);
$stmt->bindParam(":date", $date);
//Execute
if($stmt->execute()){
header('Location: ../post.php?id='.$pid);
} else {
print_r("Error");
echo "<br>";
print_r($stmt);
echo "<br>";
print_r($_POST);
echo "<br>";
}
}
出力
Error
PDOStatement Object ( [queryString] => INSERT INTO `post_comments` (`user_id`,`post_id`,`reply_id`,`comment`,`date`) VALUES (:uid, :pid, :rid :cmt, :date) )
Array ( [pid] => 8 [rid] => 1 [post_reply_content] => Test Comment Reply [post_comment_submit] => Add comment )
説明
これは、PHP
フォームからのデータを処理するページです。ユーザーのID、投稿のID、返信先のコメントのID、コメントの内容、コメントの日時を入力して、ページのコメントへの返信を処理する機能です。
質問
ご覧のとおり、PHP
ファイルはすべての関連$_POST
データを受信していますが、何らかの理由で SQLINSERT
コマンドが処理されていません。