我想删除我的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';
}
}
}
?>
答案 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是用户名吗?