Nó đã được nói trong các bình luận, bạn đã bỏ lỡ phần giữ chỗ.
Vì vậy, hãy thay đổi:
$sql =
"UPDATE blog_posts
SET post_title='$post_title',
content='$content',
author_name='$author_name',
category='$category',
post_date='$post_date',
image='$image_name'
WHERE post_id='$id'";
tới:
$sql =
"UPDATE blog_posts
SET post_title=?,
content=?,
author_name=?,
category=?,
post_date=?,
image=?
WHERE post_id=?";
Nó đơn giản như vậy.
Hướng dẫn sử dụng có cú pháp thích hợp:
Đừng quên chuyển các đối số theo đúng thứ tự . Chúng phải được chuyển theo thứ tự như chúng được sử dụng trong truy vấn (bạn đã hoán đổi hình ảnh với ngày đăng), vì vậy nó phải là:
$stmt->bind_param("ssssisi", $post_title, $content, $author_name, $category, $post_date, $image_name, $id);