Ciao a tutti;
sto usando PDO da qualche giorno... le connessioni funzionano, ma non mi è chiaro come viene gestito l'escape dei caratteri...

Codice PHP:
include ("connessionePDO.php");

$loginform = ($_POST["login"]);        
$passwordform = ($_POST["password"]);
$emailform = ($_POST["email"]);

$sql $db->prepare("SELECT * FROM utenti WHERE login = :login");     
$sql->execute(array(":login"=>$loginform));  
$sql2 $db->prepare("SELECT * FROM utenti WHERE email = :password");
$sql2->execute(array(":password"=>$emailform));                                          

if (
$res $sql->fetchAll())   {
    echo 
"Username già utilizzato";
}elseif (
$res2 $sql2->fetchAll())   {
    echo 
"Email già registrata";
}else{
    
$securpassword sha1($passwordform);
    
$sql $db->prepare("INSERT INTO utenti(login,password,email) VALUES('$loginform','$securpassword','$emailform')");
    
$sql->execute();
    echo 
"Registrazione effettuata!!!";
    } 
Al di la del controllo sugli altri caratteri particolari che ho omesso, se ad esempio come username inserisco u'tente, mi restituisce il messaggio "registrazione effettuata!" ma di fatto non crea nessun nuovo record nel db; se scrivo "utente" tutto funziona ovviamente...
Mi era stato spiegato che l'utilizzo dei segnaposti :login assword e dell'istruzione "prepare" avrebbero gestito in automatico l'escape facendo in pratica ciò che faceva myslq_real_escape_string .... ma qualcosa non quadra :-s