Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19

Discussione: Delete con apostrofo

  1. #11
    Sì ti spiego meglio:
    Per inserire i nomi nel db uso addslashes($stringa);
    Infatti nel db mi scrive L\\'aquila.
    Ma come faccio a cancellare dal db L\\'aquila?
    La query che ho usato è questa:
    Codice PHP:
    $subprogetto $_GET["subprogetto"];
    $subprogetto stripslashes($subprogetto);
    $eliminazione="DELETE FROM tabella WHERE subprogetto LIKE '$subprogetto'";
    $risultato=mysql_query($eliminazione,$link); 
    Ho aggiunto $subprogetto = stripslashes($subprogetto); perché altrimenti la il nome che cercava da cancellare sarebbe stato L\\\\'aquila, mentre così trova L\\'aquila, com'é nel db ma non lo cancella!
    Perché?
    En la habana hay una pila 'e locos!

  2. #12
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    prova a stampare la query:

    [PHP]
    $subprogetto = $_GET["subprogetto"];
    $subprogetto = stripslashes($subprogetto);
    $eliminazione="DELETE FROM tabella WHERE subprogetto LIKE '$subprogetto'";
    echo $eliminazione;
    $risultato=mysql_query($eliminazione,$link);
    [PHP]

  3. #13
    Originariamente inviato da scudobravo
    Sì ti spiego meglio:
    Per inserire i nomi nel db uso addslashes($stringa);
    Infatti nel db mi scrive L\\'aquila.
    Ma come faccio a cancellare dal db L\\'aquila?
    Se avessi letto per bene la pillola di Luca200 che ti ho passato, avresti la risposta a tutti i tuoi dubbi.

    Se nel db trovi l\\'aquila significa che hai messo due volte l'escape all'apostrofo. La prima con magic_quote_gcp ad ON e la seconda con addslashes....

    rileggiti la pillola con calma.

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

  4. #14
    Originariamente inviato da piero.mac
    Se nel db trovi l\\'aquila significa che hai messo due volte l'escape all'apostrofo. La prima con magic_quote_gcp ad ON e la seconda con addslashes....
    Sì lo so che l'ho messo due volte ma altrimenti, senza l'addslashes il browser iE7 del pc, non sarebbe stato in grado di leggere nella barra degli indirizzi pagina.php?sub=L'aquila. Mentre Safari e Firefox mi interpretano invece correttamente, trasformando in automatico l'apice con una sequenza di escape.
    Dura la vita, no?

    Dunque non c'é modo di farglielo cancellare questo record dal db??
    En la habana hay una pila 'e locos!

  5. #15
    Sì lo so che l'ho messo due volte ma altrimenti, senza l'addslashes il browser iE7 del pc, non sarebbe stato in grado di leggere nella barra degli indirizzi pagina.php?sub=L'aquila.
    Mi sa che hai qualche lacuna nelle basi. Per gli url devi utilizzare http://www.php.net/urlencode , non gli slashes.

    Per eliminare dal database quel preciso record e' sufficiente che applichi due volte a L'aquila addslasher().

  6. #16
    Originariamente inviato da scudobravo
    Sì lo so che l'ho messo due volte ma altrimenti, senza l'addslashes il browser iE7 del pc, non sarebbe stato in grado di leggere nella barra degli indirizzi pagina.php?sub=L'aquila. Mentre Safari e Firefox mi interpretano invece correttamente, trasformando in automatico l'apice con una sequenza di escape.
    Dura la vita, no?

    Dunque non c'é modo di farglielo cancellare questo record dal db??
    mi son perso tra i tuoi apici ed escape. Se vuoi cancellare QUEL record, punta all'id che deve essere univoco e tanti saluti.

    Quell'escape nella tabella non deve andarci e se ci va devi passare la stringa come:

    codice:
    sub = 'L\\\\'aquila'      <---- tre escape
    il primo per fare l'escape dell'escape e son due + 1 per fare l'escape dell'apostrofo

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

  7. #17
    Ho provato con DELETE FROM stefanoimg WHERE subprogetto LIKE 'L\\\'aquila';
    Ma non cancella nessun record..... devo aggiungerci altri backslash?
    En la habana hay una pila 'e locos!

  8. #18
    Originariamente inviato da scudobravo
    Ho provato con DELETE FROM stefanoimg WHERE subprogetto LIKE 'L\\\'aquila';
    Ma non cancella nessun record..... devo aggiungerci altri backslash?
    normalizza le stringhe sul db ed evita in futuro di inserire il doppio escape:

    codice:
    update tabella set campo = replace(campo, '\\\', '')
    attenzione sono due backslashes .....

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

  9. #19
    Grazie mille per l'aiuto!!

    En la habana hay una pila 'e locos!

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.