使用PDO更新MySQL行时发生PHP错误

xSpartanCx

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

editpost.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>';
}
?>

我已将form方法更改为GET,并且它正确传递了变量,所以这不是问题。update_post.php是我的add_post.php的修改版,可以正常运行,所以我不明白为什么更新不正确。

丹尼尔W.
$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";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中执行mysql行时发生错误

来自分类Dev

PHP PDO MySQL当不影响任何行时检查更新查询是否成功的正确方法

来自分类Dev

使用Entity Framework更新行时发生异常

来自分类Dev

使用PHP的PDO MYSQL准备的更新语句未执行

来自分类Dev

JS数组到PHP并使用PDO更新MYSQL中的表

来自分类Dev

如何使用 PHP 更新 MYSQL PDO 中获取的列的值

来自分类Dev

使用 php PDO 更新 MySQL 中的一行

来自分类Dev

如果使用MYSQL_ATTR_INIT_COMMAND,则会发生PDO抛出错误

来自分类Dev

PHP/MySQL 错误:无法使用 PDO 执行 INSERT INTO

来自分类Dev

PHP PDO更新SQL语法错误

来自分类Dev

使用php pdo mysql分页

来自分类Dev

用LEFT JOIN更新pdo php mysql

来自分类Dev

PHP MySQL / PDO更新问题

来自分类Dev

php-PDO更新mysql字段

来自分类Dev

在PDO中使用案例更新多行时参数编号无效

来自分类Dev

PHP mysql PDO扩展类错误

来自分类Dev

PHP PDO MySQL语法错误

来自分类Dev

在Scala中使用anorm时发生运行时错误

来自分类Dev

使用PDO更新mysql无法正常工作

来自分类Dev

mysql pdo使用LEFT JOIN更新记录

来自分类Dev

使用PHP和数组进行PDO更新

来自分类Dev

使用PHP / MySql / PDO更新除自动增量字段以外的所有值

来自分类Dev

JS数组转换为PHP,并使用PDO更新MYSQL中的表

来自分类Dev

使用PHP / MySql / PDO更新除自动增量字段以外的所有值

来自分类Dev

如何在PHP中使用PDO注意到MySQL错误

来自分类Dev

在MySQL查询的LIMIT子句中使用占位符时,PHP PDO错误

来自分类Dev

使用PDO PHP查询MySQL数据库时出现令人困惑的错误

来自分类Dev

使用[]时发生PHP解析错误

来自分类Dev

使用 PHP 更新 MySQL