PHP-更新查询我在变量中使用时出现错误

时间:2018-11-16 17:55:03

标签: php mysql forms session

我尝试更新数据库,但出现错误。

我在mysql中有一个表:

article_id article_title article_content article_timestamp img_url

并在我的代码中:

if(isset($_SESSION['logged_in'])) {
// display add page
if(isset($_POST['title'], $_POST['content'])) {
    $title = $_POST['title'];
    $content = nl2br($_POST['content']); // nl2br - Inserts HTML line breaks 
 before all newlines in a string
    $image = $_POST['image'];
    //$image = "admin/uploads/" . $_FILES['image']['name'];
    $id = $_POST['article_id'];

    if(empty($title) OR empty($content)) {
        $error = 'All fields are required';
    } else {
        **$query = $pdo->prepare("UPDATE articles SET article_title =  $title, 
article_content =  $content, img_url =   $image  WHERE article_id=$id");**
        $query->execute();

        header('Location: index.php');

    }

}
?>

...

我尝试编写一个变量,但是为什么会出错?

谢谢...

1 个答案:

答案 0 :(得分:1)

尽管您的问题还不清楚,因为@Steve建议您收到哪种错误。您没有在准备好的语句之后绑定变量。我建议阅读有关Pdo prepare的内容。

一个简单的例子:

$stmt = $pdo->prepare('UPDATE articles SET article_title =  ?, article_content =  ?, img_url = ?  WHERE article_id = ?');
$stmt->execute(array($title, $content, $image, $id));
$user = $stmt->fetch();