Query was empty [Résolu]

Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012
- - Dernière réponse : tif27940
Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012
- 2 févr. 2012 à 16:30
Bonjour,

voila j'execute ma requéte et elle me dit :"Query was empty"
$cat_p vient d'un fichier csv

 /////////////////////////verification de la categorie dans a boutique/////////////////////////////////////////////////////////////////////////////////////
if($cat_p == 'a')
$req_cat="SELECT * FROM  j17_virtuemart_categories_fr_fr WHERE  category_name =  'Aménagement intérieur aluminium'";
if($cat_p == 'b')
$req_cat="SELECT * FROM  j17_virtuemart_categories_fr_fr WHERE  category_name =  'Aménagement intérieur acier'";
if($cat_p == 'c')
$req_cat="SELECT * FROM  j17_virtuemart_categories_fr_fr WHERE  category_name =  'Accessoires intérieur'";
if($cat_p == 'e')
$req_cat="SELECT * FROM  j17_virtuemart_categories_fr_fr WHERE  category_name =  'Aménagement extérieur'";
if($cat_p == 'd')
$req_cat="SELECT * FROM  j17_virtuemart_categories_fr_fr WHERE  category_name =  'Equipement complémentaire'";
$res = mysql_query($req_cat); 

if (!$res) 
{
   echo "Impossible d'executer la requete ($req_cat) dans la base : " . mysql_error();
   exit;
}



merci de votre aide
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
1310
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
10
3
Merci
Et bien voilà, tu viens de trouver l'erreur. $cat_p ne contient pas un seul caractère mais 3, le caractère que tu veux suivi de deux retours à la ligne. Tu peux te servir de la fonction trim() pour les enlever. Allez, parce que ce matin je suis de très bonne humeur et très gentil, je te passe une version améliorée et fonctionnelle de ton code :

<?php

$cat_lst array('a'> 'Aménagement intérieur aluminium',
                 'b' => 'Aménagement intérieur acier',
                 'v' => 'Accessoires intérieur',
                 'd' => 'Equipement complémentaire',
                 'e' => 'Aménagement extérieur'
                 );
$cat_p = trim($cat_p);
if (!array_key_exists($cat_p, $cat_lst))
  die('Invalid category.');

$query 'SELECT * FROM  j17_virtuemart_categories_fr_fr WHERE  category_name \'' . $cat_lst[$cat_p] . '\'';
$res = mysql_query($query);
if ($res === null)
  die('Invalid category.');

?>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TychoBrahe
Messages postés
1310
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
10
0
Merci
Salut,

L'erreur parle d'elle même, ta requête est vide. Étant donné que tu as une série de if pour gérer ça, tu devrais vérifier la valeur de $cat_p. Avant ton mysql_query(), fais donc ceci :
var_dump($cat_p, $req_cat);


Au passage, ta série de if est super moche, tu devrais utiliser un simple tableau.
Commenter la réponse de TychoBrahe
Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012
0
Merci
je viens de le faire est voici le resultat:
string 'b

' (length=3)
string '' (length=0)

Commenter la réponse de tif27940
Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012
0
Merci
merci beaucoup de ton aide
Commenter la réponse de tif27940