Php 更新查询失败

Php 更新查询失败,php,mysql,Php,Mysql,查询失败,未在phpmyadmin中更新。我看不出哪里出了问题,也没有给出错误消息。我不确定这是否只是您的问题,但您的查询中需要空格 $db = db_connect(); $title = $_POST['post_title']; $content = $_POST['post_content']; $id = $_GET['post']; $userId = $_GET['id']; $query = "UPDATE post"; $query .= "SET title = $t

查询失败,未在phpmyadmin中更新。我看不出哪里出了问题,也没有给出错误消息。

我不确定这是否只是您的问题,但您的
查询中需要空格

$db = db_connect();

$title = $_POST['post_title'];
$content = $_POST['post_content'];
$id = $_GET['post'];
$userId = $_GET['id'];


$query =  "UPDATE post";
$query .= "SET title = $title, content=$content";
$query .= "WHERE id= $id";  

$result = mysqli_query($db, $query);

//Error handling 
if(!$result) {
    echo  "Query failed" . mysqli_error($connection);
    }
    else {
        echo "Post updated";
    }

db_disconnect($db);

您能检查$query变量的输出吗?根据您的代码,它将显示如下内容:“updatepostsettitle=$title,content=$contentWHERE id=$id”。我认为这只是一个空间问题,但请通过打印$query变量验证一下。
mysqli_error($db)
,错误报告可能会有所帮助。“没有给出错误消息”-这是因为您没有检查同一连接上的错误。您甚至没有检查调试时正在执行的查询的运行时值。还要注意的是,您的代码非常容易受到SQL注入的攻击,这不仅是一种安全风险,也是常见的bug和错误源。您尝试更新的值也不太可能不是字符串值,这意味着您缺少它们周围的引号。(如果您使用查询参数,这将是一个没有实际意义的问题……因此是“常见的bug和错误源”。)
// change this
$query =  "UPDATE post";
$query .= "SET title = $title, content=$content";
$query .= "WHERE id= $id";  

// to this
$query =  "UPDATE post ";
$query .= "SET title = '$title', content='$content' ";
$query .= "WHERE id = '$id'";