gpt4 book ai didi

使用 PDO 更新 MySQL 行时出现 PHP 错误

转载 作者:行者123 更新时间:2023-11-29 01:56:04 25 4
gpt4 key购买 nike

我正在尝试找到一种方法来编辑我正在创建的博客上的帖子,但出于某种原因,当我尝试提交“更新帖子”表单时,它会给我错误消息“出了点问题...... “(意味着它必须更新 post.php)我不确定为什么。我唯一能看到的是因为我正在使用 TinyMCE 来编辑帖子的内容,而我这样做的方式是错误的?

编辑帖子.php

    <?php
include 'php/mysql_connect.php'; // opens a PDO of variable $db
if(isset($_GET['id'])){
$q = $db->prepare('SELECT * FROM posts WHERE id=:post_id LIMIT 1');
$q->execute(array(':post_id'=>$_GET['id']));
$row = $q->fetch(PDO::FETCH_ASSOC);

if($row){
echo '<form method="post" action="php/update_post.php?post_id='.$_GET['id'].'">';
echo '<div class="form-group">';
echo ' <input type="text" class="form-control" name="title" id="title" placeholder="Post Title" autocomplete="off" value="'.$row['title'].'" required />';
echo '</div>';
echo '<div class="form-group">';
echo ' <textarea class="form-control" name="body" id="body">'.$row['body'].'</textarea>';
echo '</div>';
echo '<input type="submit" value="Update Post" class="btn btn-default" />';
echo '</form>';
}
else{
echo 'Post not found.';
}
}
else{
echo 'Post not found.';
}
?>

update_post.php

<?php
$post_id = $_GET['post_id'];
$title = $_POST['title'];
$body = $_POST['body'];
include 'mysql_connect.php'; // establishes $db, a PDO connection

// insert the records
$sql = "UPDATE posts SET title=:title, body=:body WHERE id=:post_id)";
$q = $db->prepare($sql);
if($q->execute(array(':title'=>$title, ':body'=>$body, ':post_id'=>$post_id))){
echo '<script type="text/javascript">alert("Success!");location.href="../posts.php";</script>';
}
else{
echo '<script type="text/javascript">alert("Something went wrong...");location.href="../posts.php";</script>';
}
?>

我已将表单方法更改为 GET,它可以正确传递变量,所以这不是问题所在。 update_post.php 是我的 add_post.php 的修改版本,它工作得很好,所以我不明白为什么更新它不能正常工作。

最佳答案

$sql = "UPDATE posts SET title=:title, body=:body WHERE id=:post_id)";
remove this one >-----^

你最后的括号错了;)

删除它,它应该可以工作:

$sql = "UPDATE posts SET title=:title, body=:body WHERE id=:post_id";

关于使用 PDO 更新 MySQL 行时出现 PHP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28724361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com