Как сделать удаление запросом?
1.
TheFaith (31.01.2010 / 07:02)
Есть комментарии, но в них можна только писать а удалять сообщения нельзя. Хочу сделать эту фишку удаления, не выходит. Делаю так
if($action=="delcom") {
$zapros="delete from otziv where id= '".$id."'";
//else $zapros="delete from otziv where id= '".$mid."' and who='".$id."'";
if (mysql_query($zapros)){
echo '<b>Запись успешно удалена!</b><br/>';
} else { echo '<b>Ошибка!</b><br/>';}
}
ну и вот ссылка на удаление
print "<a href=\"kom.php?".$ses."&action=delcom&uid=".$id."&ref=".$ref."\"><b>[X]</b></a> | ";
ЗЫ. Проблема в том что с таким кодом оно пишет "сообщение удалено" а на самом деле оно остается. Еси раскомментировать ту строчку, будет тоже самое тока над самим комментом будет напостой светится "ошибка". Помогите кто знает)
2.
TheFaith (31.01.2010 / 07:33)
ес че вот таблица комметнов
CREATE TABLE `otziv` (
`id` int(10) unsigned NOT NULL auto_increment,
`komu` varchar(100) NOT NULL default '',
`otkogo` varchar(100) NOT NULL default '',
`message` varchar(250) NOT NULL default '',
`data` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=cp1251;
3.
Удаленный (31.01.2010 / 08:00)
mysql_query("DELETE FROM otziv WHERE (id='$id')");
Все правильно низнаю
4.
Удаленный (31.01.2010 / 10:39)
1.
TheFaith, напиши перед кодом $action = $_GET['action'];
5.
TheFaith (31.01.2010 / 11:32)
ща попробую )
6.
TheFaith (31.01.2010 / 11:42)
все-равно, пишет успешно удалено но не удаляет
7.
Удаленный (31.01.2010 / 12:01)
6.
TheFaith, вместо WHERE id='$id', напиши WHERE id='".intval($_GET['uid'])."'
8.
TheFaith (31.01.2010 / 12:18)
Vetas Все по прежнему((( не хоче тудалять и все
9.
Удаленный (31.01.2010 / 13:18)
Может ты неправильный ид в адресе пишешь... Иначе я не знаю в чем ошибка
10.
TheFaith (31.01.2010 / 13:49)
хм ну а как проверить правильный иль нет?
11.
TheFaith (31.01.2010 / 13:57)
ты имеешь ввиду неправильно чтото с id uid ? а я хз как надо
12.
ramzes (31.01.2010 / 15:36)
WHERE id = '".abs(intval($_GET['uid']))."'
13.
TheFaith (01.02.2010 / 01:59)
не катит тоже
14.
Zдешний (01.02.2010 / 02:39)
Ну может id чет неправильно передает...
15.
ramzes (01.02.2010 / 03:03)
У тебя в запросе 2 переменных, а передаешь ты только одну.
16.
TheFaith (01.02.2010 / 04:54)
изначально был код (в другом скрипте)
case 'delcom':
if ($level==7) $zapros="delete from blogcom where id= '".$mid."'";
else $zapros="delete from blogcom where id= '".$mid."' and who='".$id."'";
if (mysql_query($zapros)){
echo '<b>Запись успешно удалена!</b><br/>';
} else { echo '<b>Ошибка!</b><br/>';}
break;
но когда я пишу через case оно не пашет
и почему то 2 ссылки на удлаение
if($arr['who']==$id or $level == 7) echo "<a href=\"blog.php?mode=delcom&act=del&$wp&mid=$arr[id]\">X</a>";
echo "<a href=\"blog.php?mode=delcom&act=del&$wp&mid=$mid\">Удалить свой комментарий</a><br/>";
но у меня блин переменные не таки хз че делать((
17.
ramzes (01.02.2010 / 05:56)
Тоесть ты не знаешь что твориться у тебя в коде и хочешь что бы мы это знали?))
18.
Анатолий (01.02.2010 / 12:10)
<?php
if($action=="delcom") {
$del_id=intval($_GET['id']);
if (mysql_query("delete from otziv where id= 'del_id';")){
echo '<b>Запись успешно удалена!</b><br/>';
} else { echo '<b>Ошибка!</b><br/>';}
}
?>
В конце запроса желательно ставить точку с запятой
Мелочь, а достает.
Попробуй так
19.
Олег (01.02.2010 / 16:21)
Самый верный способ найти ошибку, это - профайлинг. Разбей код на участки, и ищи где переменная теряется. И еще не забывай про mysql_error()
20.
TheFaith (02.02.2010 / 01:32)
19 нифига не понял
21.
TheFaith (02.02.2010 / 01:34)
dek не получается
22.
ramzes (02.02.2010 / 02:27)
Показ ошибок для начала включи, и echo mysql_error(); а то это пальцем в небо тыкать
23.
Анатолий (02.02.2010 / 03:33)
<?php
if($action=="delcom") {
$del_id=intval($_GET['id']);
mysql_query("delete from otziv where id= '$del_id';") or die(mysql_error());
echo'<span style="color: #f00">It s OK</span>';
};
?>
Если и в этом случае напишет, что все ОК, значит ошибка в запросе, но не синтаксическая, а логическая.
А в первом примере, ток что заметил, я значек
$ провтыкал
24.
ramzes (02.02.2010 / 03:41)
Только : в конце после скобки надо убрать а то ошибка будет
25.
Анатолий (02.02.2010 / 09:31)
24, какая ошибка будет? Оо
26.
Удаленный (02.02.2010 / 10:38)
20.
TheFaith, учи PHP + MySQL
27.
TheFaith (03.02.2010 / 04:55)
26 ПНХ
28.
ramzes (03.02.2010 / 05:43)
#25 опечатался ; вот этот знак. А ты запусти скрипт и посмотришь что за 0_о тебе выдаст))
29.
Анатолий (03.02.2010 / 23:37)
26, у меня кажись лижы не едут.)
Выдели жырным, где очепятка
30.
ramzes (03.02.2010 / 23:48)
if($action=="delcom") {
$del_id=intval($_GET['id']);
mysql_query("delete from otziv where id= '$del_id';") or die(mysql_error());
echo'<span style="color: #f00">It s OK</span>';
}
;
по ошибке наверное поставил;
31.
Анатолий (04.02.2010 / 17:48)
И чем она тебе там мешает? Если не следует блок
else, то она там закономерна лично у меня, хотя и не обязательна.
Так легче код воспринимать (мне, а не интерпретатору
)
URL:
https://visavi.net/topics/5562