MYsqli + PHP中的UPDATE查询不起作用

时间:2013-09-30 09:46:15

标签: php mysqli

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

这是我的代码,我试图回应一些事情来试图找到问题。 除线外,输出正常 “echo”test2“; 回声和下面的代码没有被执行..

<?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);        
       }
    ?>    

1 个答案:

答案 0 :(得分: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();