Echec PDO

crypt0net Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
crypt0net Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, Bonjour
je refais des pages existantes pour sécuriser. PDO me semble une très bonne idée pour ce que je veux faire, ceci dit dans le code suivant est toujours en echec "un probleme est survenue lors de l'enregistrement."
de plus j'ai essayé d'activer le debugage avec PDO je n'y arrive pas.

pouvez vous me dire si vous remarquez quelque chose qui cloche dans le code?
aussi je souhaite savoir comment activer le mode debugage car là aucune erreur de s'affiche du coup je ne sais pas du tout ce qui ne va pas !

merci par avance, très bonne journée a vous et bonne rentrée pour ceux qui reprenne cette semaine.



----------------début code----------------------------------------------------
$email = $pdo->quote($_POST["email"]);


$sql= 'NSERT INTO table_utilisateurs (email )
VALUES (?)';

$prep = $pdo->prepare($sql);

$prep->bindValue(1, $email, PDO::PARAM_STR);

$resultat_exec = $prep->execute();
if($resultat_exec)
{
$result = array(
"response" => "success",
"text" => "Heureux de vous comptez parmez nous. Vous allez reçevoir un mail pour la validation de votre compte ."
);

}else{
$result = array(
"response" => "error",
"text" => "un probleme est survenue lors de l'enregistrement."
);
}
---------------------------fin codr----------------------------------------------

2 réponses

Tomy2e Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour, il y a une erreur dans la requête SQL (ligne 4 en comptant les sauts de ligne), c'est INSERT et non pas NSERT. J'ai pas regardé plus le code, dis nous si ça fonctionne ou pas.
1
crypt0net Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour votre réactivité, en fait c'étais juste le copier coller du code. je vais voir le lien proposé par Pilet pour gérer les erreur.
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Pour commencer tu n'as pas besoin d'utiliser la méthode quote() de PDO si tu utilises une requête préparée avec marqueurs, la méthode bindValue() ajoute déjà les quotes et te protège contre les injections sql.

Il manque également le I de INSERT au début de ta requête.

Enfin pour afficher les messages d'erreur PDO, il faut définir le mode d'erreur à la connexion. Regarde les exemples de cette doc : https://www.php.net/manual/fr/pdo.error-handling.php

Bonne journée
1
crypt0net Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour le lien, on m'a mis sur une autre tache, je commencerai par voir cette gestion d'erreur dès que je reviens sur cette tache.
Bonne journée
0