Tenga en cuenta: esto no es un duplicado! ¿Por qué? Puedes usar 'pero no sabes cómo :)
Tengo este código 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);
?>
Sé que eso no es seguro (sé Inyección SQL, puedo hacer mysql_real_escape_string o add_slashes, pero solo quiero saber qué está mal :).
EDITAR: Puedes usar '. Si envía una matriz en los datos de la POST: contraseña [0] = 1 & contraseña [1] = 'union select' 1 Harás Inyección SQL ^^