Nota: questo non è un duplicato !!! Perché? Puoi usare 'ma non sai come:)
Ho questo codice PHP:
<?php
(...)
function escape($str) {
$ret = '';
for($i=0;@$str[$i];$i++)
{
if($str[$i]!='\'')
if($str[$i]!='\')
if($str[$i]!='"')
if($str[$i]!="\r")
if($str[$i]!="\n")
if($str[$i]!="\x1a")
{
$ret .= $str[$i];
continue;
}
$ret .= '?';
}
return $ret;
}
$pass = escape($_POST['password']);
$query = "select 1 from user_pwd where pass='{$pass}'";
$query = mysql_query($query);
$array = mysql_fetch_array($query);
var_dump($array);
?>
So che non è sicuro (conosco SQL Injection, posso fare mysql_real_escape_string o add_slashes, ma voglio solo sapere cosa c'è che non va:).
EDIT: puoi usare '. Se si invia un array nei dati POST: password [0] = 1 & password [1] = 'union select' 1 Farai SQL Injection ^^