Mysql
 sql >> база данни >  >> RDS >> Mysql

Заявката за актуализиране на Mysql с подготвено изявление дава грешка

Беше казано в коментарите, че сте пропуснали заместителите.

И така, променете:

$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'";

до:

$sql = 
    "UPDATE blog_posts 
        SET post_title=?, 
        content=?, 
        author_name=?, 
        category=?, 
        post_date=?, 
        image=? 
        WHERE post_id=?";

Това е толкова просто.

Ръководството съдържа правилния синтаксис:

Не забравяйте дапредадете аргументите в правилния ред . Те трябва да се предават в същия ред, в който се използват в заявката (разменили сте изображението с датата на публикуване), така че трябва да бъде:

$stmt->bind_param("ssssisi", $post_title, $content, $author_name, $category, $post_date, $image_name, $id);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - UPDATE заявка въз основа на SELECT заявка

  2. Прочетете JSON масив в MYSQL

  3. Проблем със съвпадение на редове в базата данни с използване на PDO

  4. MySQL заявка - идентифициране на данни с помощта на URL имена, където данните са организирани в йерахия

  5. MySQL хеш индекси за оптимизация