Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1437 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL]Erreur que je ne parviens pas à trouver dans une requête?!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL]Erreur que je ne parviens pas à trouver dans une requête?!

n°1815222
Brush653
DEBANNISSEZ BRUNOCREMER
Posté le 22-11-2008 à 10:49:24  profilanswer
 

Bonjour,
 
Pour mon site, nous avons changé de serveur. Le nouveau est en php5 au lieu de 4.
Depuis, je rencontre une erreur de type 1054 et plus rien ne fonctionne.
 
Je vous colle la requête ci-dessous, car je ne parviens pas à trouver la solution.
 
 
requête SQL:  
 
SELECT pd.products_name, p.products_model, p.products_image, p.products_id, p.manufacturers_id, p.products_price, p.products_weight, p.products_price1, p.products_price2, p.products_price3, p.products_price4, p.products_price5, p.products_price6, p.products_price7, p.products_price8, p.products_price1_qty, p.products_price2_qty, p.products_price3_qty, p.products_price4_qty, p.products_price5_qty, p.products_price6_qty, p.products_price7_qty, p.products_price8_qty, p.products_qty_blocks, p.products_tax_class_id, IF( s.status, s.specials_new_products_price, NULL ) AS specials_new_products_price, IF( s.status, s.specials_new_products_price, p.products_price ) AS final_price
FROM products_description2 pd, products p
LEFT JOIN manufacturers m ON p.manufacturers_id = m.manufacturers_id, products_to_categories p2c
LEFT JOIN specials s ON p.products_id = s.products_id
WHERE p.products_status = '1'
AND p.products_id = '4921'
AND pd.products_id = '4921'
AND pd.language_id = '1'
LIMIT 0 , 30  
 
 
Donne:
1054 - Unknown column 'p.products_id' in 'on clause'
 
Alors que le champ p.products_id est bien déclaré et existant :heink:
 
Qqun peut il m'aider?

mood
Publicité
Posté le 22-11-2008 à 10:49:24  profilanswer
 

n°1815236
Brush653
DEBANNISSEZ BRUNOCREMER
Posté le 22-11-2008 à 11:49:34  profilanswer
 

Il semblerait que le soucis soit ici:
LEFT JOIN specials s ON p.products_id = s.products_id  
 
Mais je ne vois pas pourquoi :/

n°1815242
olivthill
Posté le 22-11-2008 à 12:11:54  profilanswer
 

Ne faudrait-il pas avoir p2c au lieu de p et écrire

on p2c.products_id = s.products_id

n°1815277
Brush653
DEBANNISSEZ BRUNOCREMER
Posté le 22-11-2008 à 13:38:33  profilanswer
 

J'ai modifié cette requête dans l'index.php, mais je me rends compte que sur le site, l'erreur reste, et la requête apparaît inchangée :/
 
Je ne vois pourtant pas où pourrait se trouver ce code de requête, si ce n'est dans l'index.
 
Si l'un de vous veut tester, voici l'ip du serveur: 195.114.19.66
Mettez dans votre fichier HOSTS la ligne suivante:
 
195.114.19.66 www.bc-elec.com
 
et sur le site, choisissez un produit pour voir l'erreur.  Si vous savez me dire dans quel fichier je trouverai ce code, car là je suis perdu. Le modifier dans l'index ne change rien, et ce code n'est pas dans products.php


Message édité par Brush653 le 22-11-2008 à 13:39:18
n°1815335
Brush653
DEBANNISSEZ BRUNOCREMER
Posté le 22-11-2008 à 16:27:00  profilanswer
 

no idea?

n°1815341
casimimir
Posté le 22-11-2008 à 16:46:26  profilanswer
 

c'est folklo cette manière de mélanger des jointures dans le where et a base de join, perso je la réécrirai d'abord uniquement a base de join.
a aucun moment je vois de lien avec p2c non plus ce qui me semble être aberrant.
 
-> même si ca marchait avant et que ca retournait ce que tu voulais pour moi ca tient du miracle -> réécrit

n°1815359
Brush653
DEBANNISSEZ BRUNOCREMER
Posté le 22-11-2008 à 19:01:19  profilanswer
 

Merci Casimir, mais mes notions de SQL sont très limitées :D
 
Je ne sais donc comment ré-écrire :/

n°1817207
smilaou
Posté le 26-11-2008 à 17:31:23  profilanswer
 

SELECT pd.products_name, p.products_model, p.products_image, p.products_id, p.manufacturers_id,  
p.products_price, p.products_weight, p.products_price1, p.products_price2, p.products_price3,  
p.products_price4, p.products_price5, p.products_price6, p.products_price7, p.products_price8,  
p.products_price1_qty, p.products_price2_qty, p.products_price3_qty, p.products_price4_qty,  
p.products_price5_qty, p.products_price6_qty, p.products_price7_qty, p.products_price8_qty,  
p.products_qty_blocks, p.products_tax_class_id,  
IF( s.status, s.specials_new_products_price, NULL ) AS specials_new_products_price,  
IF( s.status, s.specials_new_products_price, p.products_price ) AS final_price  
FROM products_description2 pd inner join products p on p.products_id = pd.products_id
LEFT JOIN manufacturers m ON p.manufacturers_id = m.manufacturers_id  
LEFT JOIN specials s ON p.products_id = s.products_id  
WHERE p.products_status = '1'  
AND p.products_id = '4921'  
AND pd.language_id = '1'  
LIMIT 0 , 30


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL]Erreur que je ne parviens pas à trouver dans une requête?!

 

Sujets relatifs
Sécurité contre les injections SQLAccélérer du SQL avec de l'ASM x86?
Erreur 3197 Driver ODBC MySQL & Access en frontalProblème Requete
Pbl de requete simpleSouci avec formulaire en base Sql (la base ne se remplit pas)
[SQL] Problème Order ByTrouver le plus grand ecart entre 2 valeurs
Erreur Instruction 'MoveComplete'bien placer un message d'erreur dans un formulaire
Plus de sujets relatifs à : [SQL]Erreur que je ne parviens pas à trouver dans une requête?!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR