PHP自表单发布到数据库

PHP自表单发布到数据库,php,mysql,sql,Php,Mysql,Sql,Sooooo 为什么这不改变我数据库的内容 你必须逃避你的价值观 $sql = "UPDATE forum_post SET post_body='$post_body' WHERE post_id='$id'"; 可以是: $sql = "UPDATE forum_post SET post_body='".$post_body."' WHERE post_id='".$id."'"; 还有关于注射的警告 尝试像这样回显错误mysql\u错误 <?php if(is

Sooooo

为什么这不改变我数据库的内容


你必须逃避你的价值观

$sql     = "UPDATE forum_post SET post_body='$post_body' WHERE post_id='$id'";
可以是:

$sql     = "UPDATE forum_post SET post_body='".$post_body."' WHERE post_id='".$id."'";
还有关于注射的警告

尝试像这样回显错误mysql\u错误

<?php
if(isset($_POST['submit']))
{
    if( isset($_POST['post_body']) )
    {
        $post_body = $_POST['post_body'];
        $id      = $_POST['id'];
        $sql     = "UPDATE forum_post SET post_body='$post_body' WHERE post_id='$id'";
        $res     = mysqli_query($mysql, $sql);  
        if($res)
{
 echo "updated";
} else
{
 echo mysqli_error();
}

    }
    if( isset($_POST['post_title']) )
    {
        $post_title = $_POST['post_title'];
        $id      = $_POST['id'];
        $sql     = "UPDATE forum_post SET post_title='$post_title' WHERE post_id='$id'";
        $res     = mysqli_query($mysql, $sql);  
if($res)
{
 echo "updated";
} else
{
 echo mysqli_error();
}        
    }
}
?>

请注意可能的sql注入在提交之前以及提交之后分别对$post_id、$post_body和$post_title进行变量转储。如果值是好的,问题在mysql中。将无法解决问题。无法解决sql注入问题。稍后,尝试回显查询,测试脚本,并查看查询中的问题所在。然后,尝试在phpmyadmin/sql中复制并通过它,以查看是否发生错误。他可以使用mysql\u real\u escape\u string或intvalUse mysql\u*:警告:从PHP5.5.0开始,此扩展已被弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展@Kevinakakebona:使用准备好的语句是最起码要做的。看一看,什么也没出来。我觉得我的提交和php没有任何联系。。。。在ifisset$_POST['submit']部分之前有一些php。。这会是个问题吗?检查它出现的情况。我是说,如果是的话。我已经分开了。工作正常,但更新时总是在不同的页面上。我不想把它改成PHP SELF。我是弱智吗?连接是否正常?mysql数据库的连接是在页面开始时创建的。如果它在单独的页面上工作,那么您可以在更新后重定向页面,如标题“location:yourpage.php”;