Page 1 sur 1

Insertions bdd

Posté : 26 janv. 2015, 20:25
par BuddyLove
Salut tous le monde ! Mon code ne m'affiche aucune erreur mais rien ne s'enrgistre dans mon BDD je suis pourtant sur d'apeller les bon répertoires ! ma BDD ce nome "blog" et ma table ce nome "commentaire". Quelqu'un sais d'ou viens le problème ? Merci d'avance ! : )

function inserer_commentaire($pseudo, $commentaire)
{
try
{
	$pseudo=$_POST['pseudo'];
	$commentaire=$_POST['commentaire'];
	$id_article=$_GET['id'];
	
	$bdd = new PDO('mysql:host=localhost;dbname=blog;charset=utf8', 'root', '');
	$req = $bdd->prepare(" INSERT INTO commentaire(commentaire, pseudo, id_article, date) VALUES (:commentaire,:pseudo, :id_article, NOW())");
	$req->execute(array(
		'commentaire'=>$_POST['commentaire'],
		'pseudo'=>$_POST['pseudo'],
		'id_article'=>$_GET['id'] ));
}
catch(Exception $e)
	{
		// En cas d'erreur, on affiche un message et on arrête tout
		die('Erreur : '.$e->getMessage());
	}
	// Si tout va bien, on peut continuer
   }
   
?>

Re: Insertions bdd

Posté : 26 janv. 2015, 20:45
par @rthur
Même si je ne pense pas que ce soit ça, tu as un espace en trop avant ton INSERT.

Pour debuguer des requêtes SQL avec PDO-prepare, le mieux est d'activer les logs de MySQL afin de voir toutes les requêtes qui y sont envoyées.
Pour faire cela, il faut que tu édites le fichier my.cnf ou my.ini et que tu ajoutes une ligne log = "C:/mysql_query.log" (à adapter suivant ton serveur, par exemple /var/log/mysql_query.log sous Linux)
Puis tu redémarres MySQL et tu devrais être capable de voir dans le fichier mysql_query.log toutes les requêtes exécutées.

A noter qu'il faut éviter de faire cela sur un serveur de production car le log peut rapidement devenir volumineux et couteux en ressources.

Re: Insertions bdd

Posté : 26 janv. 2015, 20:49
par BuddyLove
Merci de ton aide ! Je ne suis pas sur mysql, je travail en local avec phpmyadmin

Re: Insertions bdd

Posté : 26 janv. 2015, 20:56
par @rthur
Merci de ton aide ! Je ne suis pas sur mysql, je travail en local avec phpmyadmin
phpmyadmin étant une interface pour gérer facilement une base de données MySQL, je pense que tu utilises tout de même MySQL ;-)

Re: Insertions bdd

Posté : 26 janv. 2015, 21:15
par BuddyLove
D'accord lol merci. Ce n'étais pas l'espace qu'il y a en trop. Je vais essayer de vérifié cet commande sous windows