Удаление по списку e-mail

Фанат

oncle terrible
Команда форума
делай от простого.
запрос без in, с одним емейлом можешь сделать?
 

Mols

Новичок
от тип)))
Попробуй выполнить запрос
Код:
   select 2009-01-10;
И продолжай думать над кавычками)))
 

dimagolov

Новичок
RadMax, ты вообще понял, для чего кавычки?
и почему DELETE, FROM, WHERE в них не заключил? непоследовательно как-то.

п.с. а мы тут думали, ну что же там может не получаться...
 

RadMax

Новичок
Автор оригинала: dimagolov
RadMax, ты вообще понял, для чего кавычки?
и почему DELETE, FROM, WHERE в них не заключил? непоследовательно как-то.
Лол :) конечно понял, а не заключил потому что писал просто SQL запрос.

Ну если вам так угодно:
sSql = "DELETE FROM mail WHERE mail = '[email protected]'";

Автор оригинала: dimagolov
п.с. а мы тут думали, ну что же там может не получаться...
А без подъеб*в здесь кто нибудь общается?
 

dimagolov

Новичок
А без подъеб*в здесь кто нибудь общается?
если бы ты попробовал почитать книжку или ман прежде чем задавать вопрос по синтаксису, то никто бы с тебя не стебался.

-~{}~ 18.01.10 10:22:

как все запущенно. это он еще советы раздавал
 

RadMax

Новичок
Автор оригинала: dimagolov
если бы ты попробовал почитать книжку или ман прежде чем задавать вопрос по синтаксису, то никто бы с тебя не стебался.
Следите за темами повнимательнее вы же всё таки "Заведующий отделением PHPCluba", я вопрос не задавал.

Автор оригинала: dimagolov
как все запущенно. это он еще советы раздавал
И что же не так в моём запросе?
 

dimagolov

Новичок
уже все так. а до того ты имена таблиц и полей в строковые кавычки взял какого-то хрена.

только автору ты сделал медвежью услугу, так как лишил его возможности самому найти свою ошибку и не объяснил в чем она была.
 

RadMax

Новичок
Автор оригинала: dimagolov
уже все так. а до того ты имена таблиц и полей в строковые кавычки взял какого-то хрена.
Во втором сообщение уже всё было нормально. Так что ещё раз прошу:
Автор оригинала: RadMax
Следите за темами повнимательнее вы же всё таки "Заведующий отделением PHPCluba"
В первом да, но я сразу подправил перед вторым, а вы начали хамить, просто так получилось потому что скопировал сообщение автора вопроса с первой страницы, и в попыхах проглядел.

Автор оригинала: dimagolov
только автору ты сделал медвежью услугу, так как лишил его возможности самому найти свою ошибку и не объяснил в чем она была.
Ошибка была в том что данные типа string, коими являлись его email адреса, надо было заключить в кавычки. Не думаю что оказал медвежью услугу, парниша уже два дня мучается из за какой то фигни. Теперь он навсегда запомнит этот случай, а возможно даже возьмёт книгу и почитает.
 

robinner

Новичок
DELETE FROM `mail` WHERE `mail` IN ('[email protected]', '[email protected]', '[email protected]')


сделал запрос вот такого типа , однако он все равно удаляет не правильно.....почему не знаю


решил сделать через цикл....


for ($i=0; $i <= count($array)-1; $i++)
{
$qwe = "DELETE FROM `mails` WHERE `mail` = '".$array[$i]."'";
mysql_query($qwe) or die(mysql_error());
}

удаляет по одному нормально только [email protected], а если например ввести [email protected] то не хочет...
когда адреса 2, удаляет только один с большим идом(два удалит только если первый адрес [email protected])
и лишь только когда больше двух адресо он нормально удаляет...
запросы распечатывал правильно все, но это же не логично!как такое может быть!

-~{}~ 18.01.10 18:35:

DELETE FROM `mail` WHERE `mail` IN ('[email protected]', '[email protected]', '[email protected]')


сделал запрос вот такого типа , однако он все равно удаляет не правильно.....почему не знаю


решил сделать через цикл....


for ($i=0; $i <= count($array)-1; $i++)
{
$qwe = "DELETE FROM `mails` WHERE `mail` = '".$array[$i]."'";
mysql_query($qwe) or die(mysql_error());
}

удаляет по одному нормально только [email protected], а если например ввести [email protected] то не хочет...
когда адреса 2, удаляет только один с большим идом(два удалит только если первый адрес [email protected])
и лишь только когда больше двух адресо он нормально удаляет...
запросы распечатывал правильно все, но это же не логично!как такое может быть!

-~{}~ 18.01.10 18:47:

Автор оригинала: Mols
от тип)))
Попробуй выполнить запрос
Код:
   select 2009-01-10;
И продолжай думать над кавычками)))
я понимаю, для чего ковычки..........
но у меня не правильно запрос выполняется, я как только ковычки не располагал и правильно и не правильно и как угодно, но все равно не хочет работать оно так как надо
 

robinner

Новичок
ну не все адреса а только те которые хочет
хотя запросы строятся все что надо

DELETE FROM `mails` WHERE `mail` = '[email protected]'
DELETE FROM `mails` WHERE `mail` = ' [email protected]'
удалило только [email protected]
DELETE FROM `mails` WHERE `mail` = '[email protected]'
DELETE FROM `mails` WHERE `mail` = ' [email protected]'
удалило два адреса 1 и 5

вот как такое может быть?
 

dimagolov

Новичок
у тебя пробелы перед адресами в базе записаны похоже. trim делай перед тем, как писать в базу.
 

baev

‹°°¬•
Команда форума
robinner, если Вы тут показываете реальный код, а не от балды, то у Вас тот (нередкий тут случай), когда одна ошибка нивелирует другую.

Вы реально в приведённых запросах «лишних» пробелов не видите?
Сидите медитируйте на эти пробелы, пока не осенит.
(Заодно память освежите: как и откуда в базе эти е-мейлы взялись…)

И обязательно прочтите вот это:
http://phpfaq.ru/debug
 

robinner

Новичок
Ха-ха:)
Семён семёныч:)
Я видимо слишком много сижу за компом...
Блин аж смешно !вот я лошок:)

наверное так получше будет trim(str_replace(" ", "", $mail))

-~{}~ 18.01.10 21:02:

спасибо всем
 

dimagolov

Новичок
trim(str_replace(" ", "", $mail))
очередной идиотизм :(

п.с. не ведите дела с теми, кто носит подтяжки. как можно доверять человеку, который не доверят собственным штанам? (с)
 

Adelf

Administrator
Команда форума
robinner
НУ в данном твоем случае trim почти бесполезен(врядли у тебя символы табуляции закрались в emailы).
Ты должен понять что делает str_replace и что trim и применить в данном случае одно, лучше подходящее.
 

SiZE

Новичок
Автор оригинала: robinner
DELETE FROM `mail` WHERE `mail` IN ('[email protected]', '[email protected]', '[email protected]')


сделал запрос вот такого типа , однако он все равно удаляет не правильно.....почему не знаю


решил сделать через цикл....


for ($i=0; $i <= count($array)-1; $i++)
{
$qwe = "DELETE FROM `mails` WHERE `mail` = '".$array[$i]."'";
mysql_query($qwe) or die(mysql_error());
}

удаляет по одному нормально только [email protected], а если например ввести [email protected] то не хочет...
А почему ты удаляешь в первом запросе из таблицы mail, а во втором из таблицы mails ?

-~{}~ 19.01.10 15:07:

PHP:
// Входящая строка без пробелов у запятых
$str = mysql_real_escape_string("[email protected],[email protected],[email protected]");
// Формируем новую строку вида '[email protected]','[email protected]','[email protected]'
$new_str = "'".str_replace(",", "','", $str)."'";
// Формируем запрос
$sql = "DELETE FROM mails WHERE mail IN (".$new_str.")";
// Выполняем запрос
mysql_query($sql);
 

robinner

Новичок
Автор оригинала: SiZE
А почему ты удаляешь в первом запросе из таблицы mail, а во втором из таблицы mails ?

-~{}~ 19.01.10 15:07:

PHP:
$str = "[email protected],[email protected],[email protected]";
$new_str = "'".str_replace(",", "','", $str)."'";

$sql = "DELETE FROM mails WHERE mail IN (".mysql_real_escape_string($new_str).")";
mysql_query($sql);
Просто, я сначала назвал поле также как и таблицу и решил изменить...
сейчас все работает

-~{}~ 19.01.10 13:17:

Автор оригинала: SiZE
А почему ты удаляешь в первом запросе из таблицы mail, а во втором из таблицы mails ?

-~{}~ 19.01.10 15:07:

PHP:
// Входящая строка без пробелов у запятых
$str = mysql_real_escape_string("[email protected],[email protected],[email protected]");
// Формируем новую строку вида '[email protected]','[email protected]','[email protected]'
$new_str = "'".str_replace(",", "','", $str)."'";
// Формируем запрос
$sql = "DELETE FROM mails WHERE mail IN (".$new_str.")";
// Выполняем запрос
mysql_query($sql);
так не получится...
мне нужен массив там
 
Сверху