sql >> Database >  >> RDS >> Mysql

Mysql-updatequery met voorbereide instructie geeft fout

Het is al gezegd in opmerkingen, je hebt de tijdelijke aanduidingen gemist.

Dus, verander:

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

naar:

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

Zo simpel is het.

De handleiding bevat de juiste syntaxis:

Vergeet niet de argumenten in de juiste volgorde door te geven . Ze moeten worden doorgegeven in dezelfde volgorde als waarin ze in de zoekopdracht worden gebruikt (je hebt de afbeelding verwisseld met de postdatum), dus het zou moeten zijn:

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



  1. Gerangschikte invoerwaarde voegt lege record in mysql in

  2. Meerdere MYSQL-query's versus meerdere php foreach-lussen

  3. Is er een functie voor het sluiten van een door mysql voorbereide instructie met PDO?

  4. Een Java-app implementeren met database mysql desktop