2014-02-21 2 views
0

Это связано с List of emails, delete rows out of a table, и я использую решение в MARC, чтобы удалить список писем, написанных в текстовом файле, которыйMYSQL - Список писем в текстовом файле, удалять строки из таблицы

$addresses = file('emails.txt'); 
foreach($addresses as $address) { 
    $safe_address = mysql_real_escape_string($address); 
    $sql = "DELETE FROM customer WHERE (email = '$safe_address');"; 
    $result = mysql_query($sql) or die(mysql_error()); 
} 

I есть txt-файл, где каждое письмо написано на строке. Но когда я применяю вышеупомянутое решение, он удаляет только одно электронное письмо, написанное в последней строке этого txt-файла.

Вот когда я

$addresses = file('emails.txt'); 
foreach($addresses as $address) { 
    $safe_address = mysql_real_escape_string($address); 
    echo $safe_address; 
} 

Это дает

[email protected]\r\[email protected]\r\[email protected]\r\[email protected]\r\[email protected]\r\[email protected] 

Я попытался с взрываются функцию, чтобы получить красный \ г \, так что запись соответствует и все записи будут удалены, но не повезло.

Пожалуйста, попросите кого-нибудь дать предложение, чтобы получить цель. Благодаря

ответ

0

Попробуйте

$sql = "DELETE FROM customer WHERE (email = '$safe_address');"; 

заменить его

$sql = "DELETE FROM customer WHERE email = '$safe_address' "; 
+0

Спасибо, но тот же старый эффект. Только удаление последнего. –

+0

сколько значений в вашем массиве просто проверьте сначала print_r ($ addresses); попробуйте сначала – wild

+0

Я думаю, что только одно значение, установленное в вашем массиве – wild

Смежные вопросы