Mysqli_real_escape_string() et mysqli_last_insert()

Résolu
smsagnon Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
smsagnon Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour je rencontre un probleme en utilisant la fnction mysqli_real_escape_string().
il s'affiche l'erreur suivant


voici le code jutilise
// connexion a la BDD
try{
$bdd=new PDO('mysql:host=localhost;dbname=nafere;charset=utf8;','root','');
$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e){
die('erreur'.$e->getMessage());
}

//fonction de securisation
function securite($valeur){
$valeur=htmlsepcialchars($valeur);
$valeur=htmlentities($valeur);
$valeur=trim($valeur);
$valeur=stripslashes($valeur);
return ($valeur);
}
$nom=securite($_POST['pseudo']);
$email=securite($_POST['email']);
$pass=securite($_POST['pass']);

// et la le probleme quand j'utiliser la fonction mysqli_real_escape_string() sur $pass il s'affcihe l'erreur precedent;
$pass2=mysqli_real_escape_string($bdd,$pass);



plus loin en j'ai besoin d'utiliser l'id du membre qui vien de s'inscrit(je veut pas lui demandr de se reconnectera fin d'avoi l'id)
du coup ds ma documentaion la fonction que j'ai trouve est:mysqli_last_insert()
elle aussi m'affiche la meme erreur:


voici le code jutilise
$_SESSION['user_id']=mysqli_last_insert($bdd);<code php>

1 réponse

diablo13800 Messages postés 2890 Date d'inscription   Statut Membre Dernière intervention   1 860
 
Bonjour,

Si je lis bien l'erreur, votre fonction nécéssite un objet du type " mysqli" comme premier paramètre. Or votre BDD est un objet de type PDO.
Afin de faire un échappement vous pouvez utiliser soit la fonction prepare()/execute() de pdo qui évite tout injection dans une base Soit Utilise PDO->quote($string) qui fait sensiblement la même chose que mysqli_real_escape

Pour ce qui est de Lastinsert. Celui de PDO vous retourne directement l'id de la derniere insertion.
PDO-> lastInsertId();
1
smsagnon Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
merci ça marche tres bien
0