我只想用php更新表中的一行,但是做不到!idk为什么!这是我的代码
if (isset($_POST['publish'])) {
try {
$post_id = $_POST['post_id'];
// $name = $_POST['name'];
// $email = $_POST['email'];
// $body = $_POST['body'];
$status =1;
$sql2 = 'UPDATE cmts SET
status=:status,
WHERE post_id=:id limit 1';
$stmt2 = $pdo->prepare($sql2);
$stmt2->execute(['status' => $status, 'id' => $post_id]);
header('Location: comment.php');
}
catch(Exeption $e) {
echo "error". $e->getMessage();
}
}
以及HTML代码:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="hidden" name="post_id" value="<?php echo $cmt->post_id; ?>">
<!-- <input type="hidden" name="name" value="<?php //echo $cmt->name; ?>">
<input type="hidden" name="email" value="<?php //echo $cmt->email; ?>">
<input type="hidden" name="body" value="<?php //echo $cmt->body; ?>"> -->
<input type="submit" value="Publish" name="publish">
</form>
我只想更新一列(状态)为1。我添加了另一列更新,它确实更新了行,但它影响了我不想的时间戳列。这里是我的表的图片:
更新:谢谢你的回答。这是状态后的逗号(,)。我删除了它,一切都正常。
1条答案
按热度按时间pkwftd7m1#
在MySql中,TIMESTAMP列通常在更新行时更新。如果不希望它更新,则需要这样定义它,以便TIMESTAMP获得行创建的日期和时间,而不是更新
您可以阅读有关时间戳here配置的详细信息