Erreur que je ne parviens pas à trouver dans une requête?! [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 22-11-2008 à 11:49:34
Il semblerait que le soucis soit ici:
LEFT JOIN specials s ON p.products_id = s.products_id
Mais je ne vois pas pourquoi
Marsh Posté le 22-11-2008 à 12:11:54
Ne faudrait-il pas avoir p2c au lieu de p et écrire
on p2c.products_id = s.products_id |
Marsh Posté le 22-11-2008 à 13:38:33
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
Marsh Posté le 22-11-2008 à 16:46:26
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
Marsh Posté le 22-11-2008 à 19:01:19
Merci Casimir, mais mes notions de SQL sont très limitées
Je ne sais donc comment ré-écrire
Marsh Posté le 26-11-2008 à 17:31:23
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
Marsh Posté le 22-11-2008 à 10:49:24
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
Qqun peut il m'aider?