Problème Champ inconnu

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème Champ inconnu

par ouckileou » 22 déc. 2005, 17:38

Merci toi aussi.

Je met [Résolu] alors.
Pense à t'inscrire la prochaine fois ;)

par Invité » 22 déc. 2005, 17:35

Merci beaucoup, ca marche!!!!
8)
Passes de bonnes fêtes!

par ouckileou » 22 déc. 2005, 17:31

Tu places les quotes autour de ta valeur, elles font partie de ta requête SQL :

Code : Tout sélectionner

SELECT designation FROM categories WHERE categid='$categid'
donc pour le PHP :
$sql1 = "SELECT designation FROM categories WHERE categid='".$categid."'"; 
// ou
$sql1 = 'SELECT designation FROM categories WHERE categid=\''.$categid.'\''; 

par Invité » 22 déc. 2005, 17:28

C'est un VARCHAR (j'ai parlé de numéro pour facilité l'exemple)
$categid= boitier6

Hum... les quotes ca se placent ou? ... :D

$sql1 = 'SELECT designation FROM categories WHERE categid=('.$categid.')'; ... ca marche pas :?

Merci en tout cas! si tu pouvais m'éclairer ca le ferai! :wink:

par ouckileou » 22 déc. 2005, 17:14

Salut,

quel est le type de ta colonne "categid" ?
Si elle est de type numérique, ta requête devrait passer.
Mais si elle est de type "chaine de caractères" (varchar, text...) tu dois mettre des quotes (') autour du 2 pour que MySQL comprenne bien que c'est une valeur, et non un nom de colonne.
Ici, il croit que c'est un nom de colonne.

Et pour inciter les gens à t'aider, pense à utiliser les balises
[/b] quand tu postes du code PHP ;)
J'édite ton message pour les rajouter car tu es Invité donc tu ne peux pas le faire.

Problème Champ inconnu

par Corky_du_PHP » 22 déc. 2005, 17:03

Salut,

J'ai un petit problème avec un script :
$sql = 'SELECT marque,txt,categ FROM produit WHERE id='.$id.'';  

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
    echo '<b>'.$data['marque'].' '.$data['txt'].'</b>'; 
$categid=$data['categ'];    
$sql1 = 'SELECT designation FROM categories WHERE categid='.$categid.'';
$req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error()); 
$result1 = mysql_fetch_assoc($req1);
echo $result1['designation'];
}
Voilà, le while est bien exécuté, j'ai une ligne de résultats (marque et txt) mais ensuite il y a écrit : Erreur SQL ! SELECT designation FROM categories WHERE categid=2
Champ '2' inconnu dans where clause

Pourtant cela existe bien dans ma table categories.

Pour expliquer le script : Je souhaiterai qu'après chaque ligne de résultats, on met le numéro de la catégorie ($categ) en mémoire et on va chercher sa designation dans la table "categories" et l'afficher

Merci à ceux qui pourront m'aider! :wink: