Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Problema Apici con UPDATE, ma non con INSERT

    Ciao a tutti,
    ho un problema idiota che mi sta mandando ai matti!!!!

    Quando vado ad inserire un nuovo dato che ha ad esempio nel testo un apice (es. Ciao, l'altro giorno....), è tutto ok, anche se non faccio nessun addslashes sottobanco.

    Ma se l'articolo glielo mando in UPDATE invece mi restituisce l'errore per via degli apici.

    Codice PHP:
    mysql_query("INSERT INTO helpcenter (domanda, risposta, posizione, gruppoid) VALUES ('$_POST[domanda]', '$_POST[risposta]', '$_POST[posizione]', '$_POST[gruppoid]')") or die(mysql_error()); 

    Codice PHP:
    mysql_query("UPDATE helpcenter SET domanda = '$_POST[domanda]', risposta = '$_POST[risposta]', posizione = '$_POST[posizione]', gruppoid = '$_POST[gruppoid]' WHERE idquest = '$_POST[edit_quest]'") or die(mysql_error()); 
    La mia domanda e curiosità è: come mai questa disparità?

    Come posso risolvere?

    PS: Preferirei non usare l'addslashes
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Se la query di update la faccio cosi

    $sql= "UPDATE helpcenter SET domanda = '$_POST[domanda]', risposta = '$_POST[risposta]', posizione = '$_POST[posizione]', gruppoid = '$_POST[gruppoid]' WHERE idquest = '$_POST[edit_quest]'";
    mysql_query ($sql);


    Non ho problemi con gli apici!!!



    Sono molto confuso!
    Perchè uso Maxthon? | Mi piace questa chat

  3. #3
    prima di processare la query inserisci:

    Codice PHP:
     mysql_real_escape_string($sql); 
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  4. #4

    Re: Problema Apici con UPDATE, ma non con INSERT

    Originariamente inviato da Bukowski
    PS: Preferirei non usare l'addslashes
    Bravo, cosi' la prima volta che ti ritrovi senza le magic quotes attive non funziona piu' niente ad hai uno script vulnerabile.

    Per quanto riguarda il tuo problema, stampa le due query invece di eseguirle e vediamo che differenze ci sono.

  5. #5
    Secondo me non funziona neppure con insert!
    Nel senso che magari non ti da errore, ma non inserisce titti i dati che desideravi (controlla nel db...).

    Il punto è che usi nelle query l'apice singolo come delimitatore delle stringhe, e se queste contengono a loro volta singoli apici si incasina tutto.

    Puoi provare con:

    codice:
    mysql_query('UPDATE helpcenter SET domanda = "'.$_POST[domanda].'", risposta = "'.$_POST[risposta].'", posizione = "'.$_POST[posizione].'", gruppoid = "'.$_POST[gruppoid].'" WHERE idquest = '.$_POST[edit_quest]) or die(mysql_error());
    E stessa cosa per l'insert.

    Nota in ogni caso che lo script è insicuro: è una porta aperta ad una sql injection...
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  6. #6
    ....scusa ma la mia soluzione non va bene?? Io per ovviare i problemi degli apici singoli, all'interno della query (di solito gli apostrofi), uso mysql_real_escape_string()...e ha sempre funzionato tutto correttamente
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  7. #7
    La tua soluzione va bene, anzi è ottima, se e finchè non ti interessa fare del codice portabile.
    Come ha già detto KB, potresti trovarti in difficolatà facendolo girare su un altro server...
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

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.