Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从sql中删除某些内容_Php_Sql - Fatal编程技术网

Php 从sql中删除某些内容

Php 从sql中删除某些内容,php,sql,Php,Sql,我想删除sql中的列,这将是成功的。但还有一个问题,我需要解决。我在这附近试过了。不管怎样成功,我都会努力解释我的问题 我有一个会员系统,你可以添加你的内容,编辑你提交的内容,现在我正在创建删除你的内容。我的脚本现在可以删除登录时由同一用户创建的帖子。例如,我的帐户名为Bobby,某人名为Alex,我不能删除Alex的内容,这就是我想要的 例如,我的内容链接是bobby:category.php?nameID=cat2&id=22,删除链接是deletepost.php?id=22 例如,内容链

我想删除sql中的列,这将是成功的。但还有一个问题,我需要解决。我在这附近试过了。不管怎样成功,我都会努力解释我的问题

我有一个会员系统,你可以添加你的内容,编辑你提交的内容,现在我正在创建删除你的内容。我的脚本现在可以删除登录时由同一用户创建的帖子。例如,我的帐户名为
Bobby
,某人名为
Alex
,我不能删除
Alex
的内容,这就是我想要的

例如,我的内容链接是
bobby
category.php?nameID=cat2&id=22
,删除链接是
deletepost.php?id=22

例如,内容链接
Alex

category.php?nameID=cat2&id=23
删除链接是
deletepost.php?id=23
当我以
Bobby
的身份登录并转到
deletepost.php?id=23
时,收到一条类似
的消息,您无法删除此内容

当我转到mimes
deletepost.php?id=22
时,我需要收到这样一条消息:
您的内容已成功删除

我只收到
没有

<?php
$user = new User();
if (isset($_GET['id'])) {
$id     = mysql_real_escape_string($_GET['id']);
    if(!$user->isLoggedIn()) {
    Redirect::to('index.php');
    }

    if($user->isLoggedIn()) {
        $pakuser = $user->data()->username;
        $sql = mysql_query("DELETE FROM post 
            WHERE post.id = '$id' AND post.add = '$pakuser'")
            or die(mysql_error());
        if (!$sql) {
            echo 'NO';
        }
        if ($sql) {
            echo 'YES';
        }

    }

}

?>

除了代码中可能的sql注入之外,您还可以尝试使用以下格式进行删除查询,以确定错误:

<?php
$sql = " 
    DELETE FROM 
        post  
    WHERE 
        post.id = ".$id." AND post.add = '".$pakuser."'
";

if(!$res = mysql_query($sql)) 
{ 
    trigger_error(mysql_error().'<br />In query: '.$sql); 
} 
elseif(mysql_affected_rows() == 0) 
{ 
    echo 'No records Deleted. <br />Query: '.$sql; 
} 
else 
{ 
    echo 'There are '.mysql_affected_rows().' records deleted.'; 
}
?>

删除时不要使用GET方法。使用POST或GET发送到确认页面,然后发送到确认页面。您的代码易于sql注入。此外,您应该明确停止使用mysql连接器,而是使用mysqli或PDO。一切正常,只是我没有收到成功消息,结果失败了message@AbraCadaver,更好的是,使用。