Ho un db con alcune migliaia di indirizzi email, però mi sono accorto che ce ne sono molti doppi, perchè a volte sono stati inseriti con uno spazio vuoto prima o dopo.
Poichè un controllo manuale è impensabile, ho cercato di far fare il lavoro a PHP.
Così, ho scritto questo codice:
Codice PHP:
$empty " ";
$result mysql_query("SELECT * FROM `coll` WHERE `email` LIKE '%$empty%'");
while (
$row mysql_fetch_array($result)) {
$oldEmail $row["email"];
$newEmail=trim($oldEmail);

$query2 "UPDATE `coll` SET 
  email = '
$newEmail'
  WHERE email = 
$oldEmail";
$result2 mysql_query($query2)
    or die(
"Query failed");

    
$result1 mysql_query("SELECT * FROM `coll` WHERE `email` = '$newEmail'");
        
$mailTot mysql_num_rows($result1);
        
    if (
$mailTot !== 1) {
        
$doublelist $doublelist $newEmail "
"
;
        }
    }
echo 
$doublelist
L'intenzione sarebbe stata, cioè, di fare le seguenti operazioni:
- trovare gli indirizzi email in cui c'è uno spazio vuoto
- eliminare lo spazio vuoto
- aggiornare il db sostituendo la vecchia mailbox con la nuova corretta
- controllare la presenza di doppioni
- nel caso, aggiungerli ad una lista
- fare un echo della lista
A questo punto, in base ai risultati ottenuti, avrei deciso come procedere alla eliminazione dei doppioni
Però la query di update fallisce regolarmente!
Perchè mai?