Call to a member function execute()

Résolu/Fermé
BuddyLove_x52 Messages postés 123 Date d'inscription dimanche 12 janvier 2014 Statut Membre Dernière intervention 16 mai 2017 - 25 janv. 2015 à 20:56
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - 23 févr. 2015 à 18:10
Bonjour j'ai un problème avec une de mes fonction ligne 41 et j'arrive pas a la corrigé! J'ai passé l'après midi dessus , je viens faire appelle a vous car la j'en peut plus lol.

<meta charset="utf-8" />
<?php

function afficher_articles()
{

$articles = array();

try
{
// On se connecte à MySQL
	$bdd = new PDO('mysql:host=localhost;dbname=blog;charset=utf8', 'root', '');
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
	die('Erreur : '.$e->getMessage());
}
$req = $bdd->query('SELECT * FROM articles where ID_article='.$_GET['id']);
while($row = $req->fetch())
   {
$articles[] = $row;
   }
   return $articles;
   }
   
function inserer_commentaire($pseudo, $commentaire)
{
		try
	{
		// On se connecte à MySQL
		$bdd = new PDO('mysql:host=localhost;dbname=blog;charset=utf8', 'root', '');
	}
	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
		$req = $bdd->query('INSERT INTO commentaires(pseudo, commentaires, date, id_article) VALUES(:pseudo, :commentaire, NOW(),:id');
		$req->execute (array($_POST['pseudo'], $_POST['commentaire'], $_GET['id']));
   
   }
   
?>
A voir également:

2 réponses

hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
29 janv. 2015 à 20:26
Bonsoir,

Je pense que c'est cette ligne qui pose problème :


$req->execute (array($_POST['pseudo'], $_POST['commentaire'], $_GET['id']));


Il faut mettre :

$req->execute (array(:pseudo => $_POST['pseudo'], :commentaire => $_POST['commentaire'], :id =>$_GET['id']));
2