0

我试图在 Mysqli OOP 中执行 UPDATE 查询。我知道谷歌有很多教程,但对我没有任何帮助:(如果有人可以用一个简单的查询示例编写一个简单的代码,其中将包括从创建连接对象开始的所有必要步骤,我将不胜感激。

这是我的代码,我试图回显一些东西以试图找到问题。除了 "echo "test2" 行之外,输出都正常;没有执行 echo 和下面的代码。

<?php
       if ((isset($_POST['title'])) && (isset($_POST['post'])))
       {
            $title= $_POST['title'];
            $post= $_POST['post'];
            $date = date("d-m-Y H:i");
            //UPDATE post
            echo $title, $post, $_SESSION['rec_id'];
            $stmt = $connection->query("UPDATE blog_post SET title=? AND post=? WHERE id=?");
            echo 'test1';
            $stmt->bind_param("ssi", $title , $post, $_SESSION['rec_id']);
            echo 'test2';
            printf("Affected rows (UPDATE): %d\n", $connection->affected_rows);        
       }
    ?>    
4

1 回答 1

2

你的 MYSQL 是错误的。

UPDATE blog_post SET title=? AND post=? WHERE id=?

应该

UPDATE blog_post SET title=?, post=? WHERE id=?

您应该始终使用某种错误检查,如下所示,

if(!$stmt = $connection->prepare("UPDATE blog_post SET title=?, post=? WHERE id=?")){
    die($connection->error);
}

你也从来没有叫过$stmt->execute();

您也不能$stmt = $connection->query();与准备好的语句一起使用。使用$stmt = $connection->prepare();.

于 2013-09-30T09:49:51.457 回答