Visualizzazione dei risultati da 1 a 4 su 4

Discussione: update non funziona

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    update non funziona

    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?
    metatad
    graphic & web design

  2. #2
    Nella aquery:
    Codice PHP:
    $query2 "UPDATE `coll` SET 
      email = '
    $newEmail
      WHERE email = 
    $oldEmail"
    prova a mettere la variabile $oldEmail tra virgolette:

    Codice PHP:
    $query2 "UPDATE `coll` SET 
      email = '
    $newEmail
      WHERE email = '
    $oldEmail'"

  3. #3
    puoi fare direttamente con sql

    codice:
    UPDATE `coll` SET
    email = TRIM(email)

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    thanks...
    metatad
    graphic & web design

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.