problema con query insert into.....

allora ragazzi ho questo problema, ho creato un form per l'inserimento dei dati in un db..

praticamente se vado ad inserire nel modulo una scritta con l'apostrofo ' mi da un errore  mentre se inserisco tutto senza apostrofo la query va a buon fine... non riesco a capire il perchè....

questa è la query:

 mysql_select_db("baitaov") or die("errore".mysql_error());

      $result= mysql_query("INSERT INTO terreni SET

                                                provincia='$Provincia',

                       comune='$comune',

                       localita='$localita',

                       via='$via',

                       descrizione='$descrizione',

                       destinazione='$destinazione',

                       mq='$metri',

                       prezzo='$prezzo',

                       notea='$note_a',

                       foglio='$foglio',

                       particella='$particella',

                       noteb='$note_b'");

inviato 8 anni fa
felix1
modificato 8 anni fa
X 0 X

Perchè l'apostrofo chiude la stringa dato che nell'assegnazione usi l'apostrofo come delimitatori, 2 soluzioni:

1 - cambiare così: descrizione="$descrizione", (usare le virgolette " )

2 - usi addslashes() prima di assegnare.

risposto 8 anni fa
LonelyWolf
X 0 X

ho provato a mettere le doppie virgolete cosi:

   mysql_select_db("baitaov") or die("errore".mysql_error());

      $result= mysql_query("INSERT INTO terreni SET

                        provincia="$Provincia",

                        comune="$comune",

                      // e cosi via....

però mi da errore di sintassi...

in quest'altro modo mi da sempre lo stesso errore:

  mysql_select_db("baitaov") or die("errore".mysql_error());

      $result= mysql_query("INSERT INTO terreni SET

                      provincia= addslashes($Provincia),

                       comune= addslashes($comune),

                       localita= addslashes($localita),

// e cosi via...

ecco l'errore:

Errore di sintassi nella query SQL vicino a '(n'ome citta ), comune= addslashes(ciata), localita= addslashes' linea 3

risposto 8 anni fa
felix1
X 0 X

1 - hai messo le virgolette, ma con quelle hai chiuso la stringa "a monte" quella che compone la query.

2 - hai usato addslashes ma non va messa dentro la stringa che compone la query: prima usi addslashes sulle variabili, poi costruisci la query.

risposto 8 anni fa
LonelyWolf
X 0 X

ok ho capito... adesso provo! grazie..

risposto 8 anni fa
felix1
X 0 X

ok grazia mille... risolto con i tuoi suggerimenti :) ;D

risposto 8 anni fa
felix1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda