sql >> Database teknologi >  >> RDS >> Mysql

Mysql-opdateringsforespørgsel med forberedt erklæring giver fejl

Det er blevet sagt i kommentarer, du savnede pladsholderne.

Så skift:

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

til:

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

Så enkelt er det.

Manualen indeholder den korrekte syntaks:

Glem ikke at passere argumenterne i den rigtige rækkefølge . De skal sendes i samme rækkefølge, som de bruges i forespørgslen (du har byttet billedet med postdato), så det skal være:

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



  1. Sådan bestemmes det samlede antal åbne/aktive forbindelser i ms sql server 2005

  2. Sådan opretter du forbindelse til MySQL ved hjælp af Microsoft .NET

  3. SQL Views:Hvordan arbejder man med Views i SQL?

  4. Sagsudtryk vs sagsudsagn