Php 从sql中删除某些内容
我想删除sql中的列,这将是成功的。但还有一个问题,我需要解决。我在这附近试过了。不管怎样成功,我都会努力解释我的问题 我有一个会员系统,你可以添加你的内容,编辑你提交的内容,现在我正在创建删除你的内容。我的脚本现在可以删除登录时由同一用户创建的帖子。例如,我的帐户名为Php 从sql中删除某些内容,php,sql,Php,Sql,我想删除sql中的列,这将是成功的。但还有一个问题,我需要解决。我在这附近试过了。不管怎样成功,我都会努力解释我的问题 我有一个会员系统,你可以添加你的内容,编辑你提交的内容,现在我正在创建删除你的内容。我的脚本现在可以删除登录时由同一用户创建的帖子。例如,我的帐户名为Bobby,某人名为Alex,我不能删除Alex的内容,这就是我想要的 例如,我的内容链接是bobby:category.php?nameID=cat2&id=22,删除链接是deletepost.php?id=22 例如,内容链
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
时,收到一条类似的消息,您无法删除此内容代码>
当我转到mimesdeletepost.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,更好的是,使用。