Ciao,
sto provando a costruire una funzione che mi permetta di codificare con mysqli_real_escape_string ogni variabile passata nella stringa sql. Qualcuno ha in mente come si potrebbe fare?
Saluti,
carlostefano
Ciao,
sto provando a costruire una funzione che mi permetta di codificare con mysqli_real_escape_string ogni variabile passata nella stringa sql. Qualcuno ha in mente come si potrebbe fare?
Saluti,
carlostefano
beh, se il tuo problema è la connessione al db, senza fare la tua funzioncina utilizza semplicemente mysql_escape_string($variabile), e tutto si risolve...
Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle
il mio profilo su PHPClasses e il mio blog laboweb
ciao,
il fatto è che con la funzioncina si potrebbero codificare tutte le variabili immesse nella stringa di query senza doverle passare ad una ad una con la funzione di mysql. Sarebbe molto più comodo.
e come la chiami?
$query=for_query("SELECT * FROM tabella WHERE nome='antonio'");
passata così ti darebbe errore perchè la funzione ti metterebbe le \ anche dove servono veramente alla query gli apici....
Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle
il mio profilo su PHPClasses e il mio blog laboweb
io pensavo di risolvere in questa maniera:
str_sql = "select * from mytabella where myfield = '$myvar'";
str_sql = encodeVariables(str_sql);
la funzione avrebbe il compito di individuare le variabili all'interno della stringa (quindi in questo caso $myvar) è codificarne il contenuto. A tale scopo ci andrebbe una regex che le indivui ed esegua la funzione mysql su die esse. Io ho provato a farlo ma non ci sono riuscito.
allora...
sto cercando di costruirmi sta benedetta funzioncina.
Tanto per cominciare si devono spilittare tutte le parole in un array. A tale scopo ho pensato di usare preg_split:
Non so perchè però mi mette una posizione in più nell'array, la numero 4.codice:$str_sql = "SELECT * FROM customers WHERE mMiao='ciao'" $arr_sql = preg_split("#\b#", $str_sql);
qualcuno può provare a fare
e dirmi cosa gli salta fuori?codice:foreach($arr_sql as $key =>$value){ echo $key . $value; }