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 -
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----------------------------------------------
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----------------------------------------------
A voir également:
- Echec PDO
- Mode sans echec ps4 - Guide
- Mode sans echec - Guide
- Échec de l'analyse antivirus ✓ - Forum Google Chrome
- Echec du upnp ✓ - Forum Freebox
- Échec de l'analyse antivirus. ✓ - Forum Antivirus
2 réponses
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.
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.
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
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