Query was empty [Résolu]

tif27940 74 Messages postés lundi 24 janvier 2011Date d'inscription 21 février 2012 Dernière intervention - 2 févr. 2012 à 16:04 - Dernière réponse : tif27940 74 Messages postés lundi 24 janvier 2011Date d'inscription 21 février 2012 Dernière intervention
- 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 

Votre réponse

4 réponses

Meilleure réponse
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 2 févr. 2012 à 16:24
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.');

?>

Merci TychoBrahe 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de TychoBrahe
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 2 févr. 2012 à 16:15
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
tif27940 74 Messages postés lundi 24 janvier 2011Date d'inscription 21 février 2012 Dernière intervention - 2 févr. 2012 à 16:18
0
Merci
je viens de le faire est voici le resultat:
string 'b

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

Commenter la réponse de tif27940
tif27940 74 Messages postés lundi 24 janvier 2011Date d'inscription 21 février 2012 Dernière intervention - 2 févr. 2012 à 16:30
0
Merci
merci beaucoup de ton aide
Commenter la réponse de tif27940

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.