Error : Invalid Query Champ 'Desert' inconnu dans where clause

Résolu/Fermé
Oscaro59000 Messages postés 2 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 26 avril 2017 - 26 avril 2017 à 20:23
jee pee Messages postés 39590 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 - 26 avril 2017 à 21:16
Bonjour,

Je débute en PHP et j'ai une erreur même après avoir chercher sur internet et essayé plusieurs solution ça ne marche pas.

Mon problème :
Je fais appelle à une requête pour pouvoir ajouter une ligne dans ma base de données cependant cela ne fonctionne pas et ma page web m'affiche :
Error : Invalid Query Champ 'Desert' inconnu dans where clause

Mon code PHP :

<?php

$ConnexionBD = mysqli_connect("localhost", "root", Null, "site_internet") ;

if (mysqli_connect_errno()) {
echo "Connection to the Data Base Server not Possible : " . mysqli_connect_error();
return;
}

$Nom = htmlentities($_POST['nom'], ENT_QUOTES);
$Prenom = htmlentities($_POST['prenom'], ENT_QUOTES);
$Email = htmlentities($_POST['email'], ENT_QUOTES);
$Commentaire = htmlentities($_POST['commentaire'], ENT_QUOTES);
$Note = htmlentities($_POST['note'], ENT_QUOTES);
$Trek = htmlentities($_POST['trek'], ENT_QUOTES);


$RequeteAjout="INSERT INTO commentaire (Prenom, Nom, Email, Commentaire, note, IdTrek)
VALUES('$Prenom','$Nom','$Email','$Commentaire','$Note',(SELECT `IdTrek`
FROM `trek`
WHERE NomTrek =".$Trek."))";

$Resultat = mysqli_query($ConnexionBD, $RequeteAjout);

if (!$Resultat) {
echo("Error : Invalid Query " .mysqli_error($ConnexionBD));
return;

} else {
echo " Yes !!!! your inputted data are now stored in database";
mysqli_close($ConnexionBD);
}
?>


Je pense que ça viens du where NomTrek =".$Trek." mais je n'arrive pas à solutionner le problème.

Merci d'avance pour l'aide.

1 réponse

jee pee Messages postés 39590 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
26 avril 2017 à 20:53
Bonjour,

Je n'utilise ni php, ni mysql, j'aurais donc une observation juste de logique sur la forme :

Pourquoi des doubles quotes et des points ".$Trek." alors que pour une donnée qui semble de même type simple quote et pas de points '$Nom'

et tant que l'on est sur la forme pourquoi des quotes inversés sur `IdTrek` et `trek` alors que sur l'update le nom de table et les champs ne sont pas encadrés car ce caractère

cdlt
1
Oscaro59000 Messages postés 2 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 26 avril 2017
26 avril 2017 à 21:07
Tu avais sur le ".$Trek." J'avais vu ça sur un autre forum. Et miracle maintenant ça marche !! hourra ;)
Pour les quotes inversés cela n'a pas d'importance c'est phpmyadmin qui les utilise ainsi.

Merci beaucoup en tout cas tu viens de m'enlever une épine du pied!
0
jee pee Messages postés 39590 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225 > Oscaro59000 Messages postés 2 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 26 avril 2017
Modifié le 26 avril 2017 à 21:16
En informatique, la syntaxe et la forme c'est primordial ;-)

Et la logique aussi.
0