Newsgroup: it.lavoro.professioni.webmaster
Titolo: inserimento stringhe in mysql con *'*

Se ho un form che inserisce una stringa di testo in un campo di una tabella
e nella input text scrivo "sant'andrea".
Quando faccio poi una select tramite questo nome visto che presenta dentro
una " ' ", mi da errore sulla query.
Come posso evitare questo problema?
$query="insert into lista ("
    ."nome_lista,"
   ."organizzazione_lista,"
   ."luogo_lista,"
   ."sponsor_lista,"
   ."contatti_lista)"
   ." values ("
   ."'$nome_lista[$i]',"
   ."'$organizzazione_lista[$i]',"
   ."$sponsor_lista[$i],"
   ."'$luogo_lista[$i]',"
   ."'$contatti_lista[$i]')";
$query="select id from lista where nome_lista='$nome_lista[$i]'";
cioč c'č una funzione che quando inserisce i dati nel database li trasforma
evitandomi questo problema? o qualcosa del genere?
Spero che qualcuno abbia capito e mi possa dare una mano, grazie a tutti,
ciao!

 
credoc che avresti più fortuna andando a vedere qualche newsgroup tipo:
it.comp.www.php
free.it.comp.database.mysql
Cmq c'è una funziona in php che filtra tutto.. ma non ricordo quale.. 
chiedi in altro newsgroup

 credoc che avresti più fortuna andando a vedere qualche newsgroup tipo:
grazie, ho dato un'occhiata su 
google.it
 e credo che risolverò con le
funzioni addslashes() e stripslashes() di php.
però se qualcuno ha una soluzione più veloce o migliore me lo dica.
tnx & ciao


 perr se qualcuno ha una soluzione piy veloce o migliore me lo dica.
Per MySQL utilizza le funzioni dedicate:
http://it2.php.net/mysql_escape_string
http://it2.php.net/mysql_real_escape_string
-- 
I'am what I'am, I do what I can

"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio
news:w1JDb.189739$vO5.7...@twister1.libero.it...

Ottimo, però non ho capito lo stesso come risolvere il mio problema.. mi son
confuso.. ovevero
io devo fare questa query:
$query="select id from lista where nome_lista='$nome_lista[$i]'";
nel database $nome_lista[$i] è "sant'andrea
e la variabile che gli passo è sempre sant'adrea ovviamente
insomma devo prendere l'id della riga dove il nome_lista corrisponde a
sant'andrea
e anche con la funzione mysql_escape_string non sono riuscito lo stesso a
far funzionare la cosa
Evidentemente il problema dell'apice singolo dentro la stringa rimane.
Come posso evitare questo problema? Devo sostituire tutti gli apici singoli
quando inserisco le stringhe nel database con dei caratteri speciali tramite
una data funzione e poi quando gli riprendo devo ritogliere i caratteri
speciali con un'altra funzione?
Spero che qualcuno mi possa chiarire e risolvere il problema.
Grazie,ciao!


 e la variabile che gli passo h sempre sant'adrea ovviamente
$nome_lista[$i] = mysql_escape_string ($nome_lista[$i]);
$query="select id from lista where nome_lista='$nome_lista[$i]'";
anche se io preferisco:
$nome_lista[$i] = mysql_escape_string ($nome_lista[$i]);
$query = "SELECT id " .
	   "FROM lista " .
	   "WHERE nome_lista = '" . $nome_lista[$i] . "'";


"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio
news:RPVDb.191149$vO5.7...@twister1.libero.it...

L'avevo fatto, prima di scrivere la mia precedente domanda, ma mi da lo
stesso errore, qualcuno ha idea di come mai?
Cmq, grazie.


 lo stesso errore, qualcuno ha idea di come mai?
Scusa, ma che errore ti da?
