// On sépare la requete de son execution // Et on y fait de la mise en forme pour qu'elle soit plus lisible ! $sql = "INSERT INTO avis (id_avis ,id_salle ,id_membre ,note ,date ,commentaire) SELECT '.mysql_insert_id().' ,m.id_membre ,m.pseudo ,s.id_salle ,now() ,s.titre FROM membre m , salle s WHERE m.id_membre = id_membre AND s.id_salle = id_salle "; // Affichage de la requête echo $sql; // execution de la requête $requete = executeRequete($sql);
'id_avis' int(5) NOT NULL AUTO_INCREMENT,
__________________________________
Voici la fonction qui se trouve dans le fichier fonctions et je fais un require_once() pour l'appel de cette fonction
____________________________________
/*j'évite d'utiliser pour la requête $resultat pcq hormis ce code il y a d'autres scripts qui permettent de faire autre chose dans la page et à la place j'ai mis $res pour faire des tests facilement */
function executeRequete($req)
{
global $mysqli;
$resultat = $mysqli->query($req);
if(!$resultat)
{
die('Erreur sur la requete.<br/> : ' .$mysqli->error.'<br/>');
}
return $resultat;
}
//la requête que j'ai modifié
$sql = executeRequete("INSERT INTO avis(id_avis,id_salle,id_membre,note,date,commentaire)
SELECT 'last_insert_id()',m.pseudo,s.titre,a.note,now(),a.commentaire
FROM membre m, salle s,avis a
WHERE m.id_membre = a.id_membre
AND s.id_salle = a.id_salle ");
//la requête que j'ai modifiéC'est dommage.. tu n'as pas tenu compte de mes remarques concernant :
$requete = " INSERT INTO avis ( id_avis ,id_salle ,id_membre ,note ,date ,commentaire ) SELECT 'last_insert_id()' ,m.pseudo ,s.titre ,a.note ,now() ,a.commentaire FROM membre m ,salle s ,avis a WHERE m.id_membre = a.id_membre AND s.id_salle = a.id_salle "; // AFFICHE LA REQUETE : echo "<br><b>REQUETE => </b><br>".$requete."<br>"; $sql = executeRequete($requete);
Avec echo j'ai testé : Ceci génère encore une erreur fatale...
echo "<br><b>REQUETE => </b><br>".$requete."<br>";
$sql = executeRequete($requete);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJordane, essaie de regarder le création des tables j'ai bien expliquéSoyons clair... pour l'instant je ne corrige pas ta requête ... j'essaie de te faire trouver ses éventuelles erreurs !
Avec echo j'ai testé : Ceci génère encore une erreur fatale...Cela te génère une erreur fatale .... surement pas lors de l'affichage de la requête...(mais surement lors de son éxécution..)
dans select j'essaie de récupérer les id des tables membre et salle par la jointure afin de pouvoir afficher toutes les informations du formulaire.......c'est ce que tu souhaites faire...surement... mais ce n'est pas ce que tu fais en réalité !!!!