从sql中删除一些东西

时间:2014-04-18 19:35:33

标签: php sql

我想删除我的sql中的列,这是成功的。但还有另一个问题,我需要解决。我试过并在这里检查过。所有这些都取得了成功,我将尝试解释我的问题。

我有一个会员系统,您可以在其中添加内容,编辑您提交的内容,现在我正在创建删除您的内容。我的脚本现在可以删除由登录的同一用户创建的帖子。例如,我的帐户被称为Bobby,有人被称为Alex我无法删除Alex的内容只有mimes , 这就是我想要的。

例如我的bobby的内容链接:category.php?nameID=cat2&id=22并且删除链接为deletepost.php?id=22

EX。内容链接Alex

category.php?nameID=cat2&id=23删除链接为deletepost.php?id=23 当我以Bobby身份登录后,我转到deletepost.php?id=23并收到You cannot delete this content!

等消息

当我去模仿deletepost.php?id=22时,我需要收到如下信息:Your content has been delete succesfully!

我只收到NO!

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

    }

}

?>

1 个答案:

答案 0 :(得分:0)

除了代码中可能的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.'; 
}
?>

你还确定post.add是用户名吗?

相关问题