sql >> Databáze >  >> RDS >> Mysql

Aktualizační dotaz Mysql s připraveným příkazem dává chybu

V komentářích bylo řečeno, že jste přehlédli zástupné symboly.

Takže změna:

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

komu:

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

Je to tak jednoduché.

Manuál obsahuje správnou syntaxi:

Nezapomeňte předat argumenty ve správném pořadí . Měly by být předány ve stejném pořadí, v jakém jsou použity v dotazu (obrázek jste zaměnili s datem příspěvku), takže by to mělo být:

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



  1. Jak vrátit typ pole z dotazu MySQL?

  2. Failover &Failback pro PostgreSQL v Microsoft Azure

  3. MySQL - Jak hledat přesnou shodu slov pomocí LIKE?

  4. Pole načítání MySQL přidává duplicitní hodnoty?