INSERT qui ne fonctionne pas sans message d'erreur.. [Résolu/Fermé]

Signaler
Messages postés
109
Date d'inscription
samedi 3 mai 2014
Statut
Membre
Dernière intervention
17 mars 2017
-
Messages postés
109
Date d'inscription
samedi 3 mai 2014
Statut
Membre
Dernière intervention
17 mars 2017
-
Bonjour,
je travaille actuellement sur mon site web et cependant j'éprouve un problème qui je suis sur est tout bête mais que je n'arrive malheureusement pas a résoudre par moi même

Voici mon code :

$pseudo_demander_verif = $donnees2['pseudo'];
																$titre = 'Avertissement';
																$message = !empty($_POST['message']) ? $_POST['message'] : NULL;


																if($pseudo_demander == $pseudo_demander_verif)
																{
																		try 
														
																		{
																			$sql_test = $bdd->prepare("INSERT INTO messagerie(titre, message, expediteur, receveur) VALUES ('$titre', '$message','$pseudo', '$pseudo_demander')");

																		echo 'ok' . $titre, $message, $pseudo, $pseudo_demander .'';

																	     }
																		catch (Exception $e)
																		 {
																		    echo 'Erreur : '.$e->getMessage();
																		}
																}
																else
																{
																	echo 'pas ok';
																}


Voila donc je cherche a insérer dans ma table messagerie les données ci dessus mais pas moyen il n'insère rien sans message d'erreur malgré que j'ai rajouté try - catch autour de ma fonction .. J'ai essayé de 'débuger' et il maffiche bien toute les infos et le if est bien accepter car il écris aussi "ok" comme préciser ici

try 
														
																		{
																			$sql_test = $bdd->prepare("INSERT INTO messagerie(titre, message, expediteur, receveur) VALUES ('$titre', '$message','$pseudo', '$pseudo_demander')");

																		echo 'ok' . $titre, $message, $pseudo, $pseudo_demander .'';

																	     }
																		catch (Exception $e)
																		 {
																		    echo 'Erreur : '.$e->getMessage();
																		}


Voilà, ça m'énerve d'ouvrir un sujet pour ça car je suis sur que l'erreur est toute bête :( Merci à ceux qui m'aideront..

1 réponse


Bonjour

L'instruction
$sql_test = $bdd->prepare...
ne fait que créer une requête préparée. Il reste à l'exécuter avec
$sql_test->execute();
.

D'ailleurs, il aurait été nettement préférable de faire une requête préparée avec des paramètres et execute avec un tableau associatif pour ces paramètres. Relis le manuel PDO.
http://php.net/manual/fr/pdo.prepared-statements.php
Messages postés
109
Date d'inscription
samedi 3 mai 2014
Statut
Membre
Dernière intervention
17 mars 2017
5
Oui j'avais fais avec un tableau avant array() et j'avais fait un try { prepare +execute ) mais ca ne marchais pas non plus je vais ré-essayer on verra :) Je te tiens au jus.
Messages postés
109
Date d'inscription
samedi 3 mai 2014
Statut
Membre
Dernière intervention
17 mars 2017
5
J'ai refais tout le code de A à Z et ca fonctionne, franchement parfois je me demande si je devrais pas éteindre mon cerveau et rallumer , je sais pas ce qui a causé le problème du coup mais c'est résolu :/