修复各种问题后,这最终不会返回任何PHP错误,但不会更新数据库... 也许这是这段代码的语法?
变量$ postId,$ id,$ comment在其他函数中正确返回...
public function updateComment($postId, $id, $comment) {
$db = $this->dbConnect();
$commentUpdate = $db->prepare(
'UPDATE comments SET comment, comment_date VALUES(:comment, NOW())
WHERE post_id = :post_id AND id = :id'
);
$affectedLines = $commentUpdate->execute(array(
'comment' => $comment,
'post_id' => $postId,
'id' => $id,
));
return $affectedLines;
}
答案 0 :(得分:1)
您的SQL无效,您似乎在混用UPDATE
和INSERT
语法。
您可能想要:
UPDATE comments
SET comment = :comment, comment_date = NOW()
WHERE post_id = :post_id AND id = :id
NB:您的问题表明您在运行SQL查询时没有正确检查错误。错误检查是与数据库进行交互的任何应用程序代码的重要组成部分,因为它有助于在发生意外行为时进行分类。您可能需要查看this SO post,以获取有关该主题的更多信息。
答案 1 :(得分:0)
在准备好的语句中尝试使用此SQL
UPDATE comments SET comment = :comment, comment_date = NOW() WHERE post_id = :post_id AND id = :id
VALUES通常用于INSERT,很少用于UPDATE。