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

Résolu
Oscaro59000 Messages postés 2 Statut Membre -  
jee pee Messages postés 31976 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. jee pee Messages postés 31976 Date d'inscription   Statut Modérateur Dernière intervention   10 012
     
    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
    1. Oscaro59000 Messages postés 2 Statut Membre
       
      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
      1. jee pee Messages postés 31976 Date d'inscription   Statut Modérateur Dernière intervention   10 012 > Oscaro59000 Messages postés 2 Statut Membre
         
        En informatique, la syntaxe et la forme c'est primordial ;-)

        Et la logique aussi.
        0