rivendarkness Posted May 18, 2007 Report Share Posted May 18, 2007 Bei wem dieser Fehler auftritt, de bekommt hier eine Lösung. Ich mache das mal anhand eines Beispiels: Fehlermeldung: 1054 - Unknown column 'p.products_id' in 'on clause' in diesem Fall kommt der Fehler aus der product_reviews_info.php Wer den Fehler hat, ersetzt in der Zeile 33 mit dem Inhalt $reviews_query = xtc_db_query("select r.products_id, rd.reviews_text, r.reviews_rating, r.reviews_id, r.customers_name, r.date_added, r.last_modified, r.reviews_read, p.products_id, pd.products_name, p.products_image from ".TABLE_REVIEWS." r, ".TABLE_REVIEWS_DESCRIPTION." rd left join ".TABLE_PRODUCTS." p on (r.products_id = p.products_id) left join ".TABLE_PRODUCTS_DESCRIPTION." pd on (p.products_id = pd.products_id and pd.language_id = '".(int) $_SESSION['languages_id']."') where r.reviews_id = '".(int) $_GET['reviews_id']."' and r.reviews_id = rd.reviews_id and p.products_status = '1'"); zu dem hier: $reviews_query = xtc_db_query("select r.products_id, rd.reviews_text, r.reviews_rating, r.reviews_id, r.customers_name, r.date_added, r.last_modified, r.reviews_read, p.products_id, pd.products_name, p.products_image from (((".TABLE_REVIEWS." r, ".TABLE_REVIEWS_DESCRIPTION." rd) left join ".TABLE_PRODUCTS." p on (r.products_id = p.products_id)) left join ".TABLE_PRODUCTS_DESCRIPTION." pd on (p.products_id = pd.products_id and pd.language_id = '".(int) $_SESSION['languages_id']."')) where r.reviews_id = '".(int) $_GET['reviews_id']."' and r.reviews_id = rd.reviews_id and p.products_status = '1'"); Zur Allroundlösung bei ähnlichen 1054 - Probleme: Ich habe (rot markiert) einfach Klammern gesetzt. Bei vergleichbaren Scripts sollte dies genauso funktionieren. Wer sich etwas mit SQL-Scripts auskennt sollte mit etwas Verstand die Logik verstehen die hinter den Klammern steht. Wer Probleme hat, kann seine Scriptzeile hier reinwerfen, mal gucken ob es dann auch funktioniert, wenn ich dafür dann eine Hilfe gebe. Link to comment Share on other sites More sharing options...
webrise Posted June 19, 2007 Report Share Posted June 19, 2007 Schade diese Lösung funktioniert bei mir nicht, obwohl ich auch diese 1054 Fehlermeldung seit neustem habe. Einfach mal in meinem Shop auf eine Kategorie klicken oder die Suche benutzen. Woran liegt es? Dieser Fehler tritt erst seit kurzem auf. Link to comment Share on other sites More sharing options...
rivendarkness Posted June 19, 2007 Author Report Share Posted June 19, 2007 Ach Quatsch! Wirf doch mal die genaue Fehlermeldung hier inkl. der SQL-Abfrage. Da lässt sich doch bestimmt was machen... Link to comment Share on other sites More sharing options...
webrise Posted June 20, 2007 Report Share Posted June 20, 2007 [COLOR=#000000][B]1054 - Unknown column 'p.products_id' in 'on clause' select count(p.products_id) as total from products_description 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 = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '2' and p.products_fsk18!=1 and p2c.categories_id = '21' ORDER BY pd.products_name ASC [COLOR=#ff0000][XT SQL Error][/COLOR][/B][/COLOR] Diese Fehlermeldung erscheint sobald ich eine Kategorie aufrufe oder die Suche benutze Link to comment Share on other sites More sharing options...
rivendarkness Posted June 20, 2007 Author Report Share Posted June 20, 2007 select count(p.products_id) as total from (((products_description 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 = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '2' and p.products_fsk18!=1 and p2c.categories_id = '21' ORDER BY pd.products_name ASC Bitte das mal da einfügen bzw. die alte Abfrage rausnehmen und das hier dafür einsetzen und testen Link to comment Share on other sites More sharing options...
webrise Posted June 20, 2007 Report Share Posted June 20, 2007 in die product_reviews_info.php ? und in welche Zeile? sorry, so bewandert bin ich nicht mit php. Bedenke aber das ich die XTC Version 2.0 habe Link to comment Share on other sites More sharing options...
rivendarkness Posted June 20, 2007 Author Report Share Posted June 20, 2007 schau doch mal in der adressleiste bei welcher php-Datei der Fehler angezeigt wird...dann öffnest du diese datei und schaust nach, wo sich denn da überall SQL-Abfragen befinden...Diese markierst du mal und postest hier rein...SQL-Abfragen beginnen zumeist mit SELECT. Manchmal sind in einer Datei mehrere drinne...kipp mal alles hier rein, ich passe dir das dann an Link to comment Share on other sites More sharing options...
webrise Posted June 20, 2007 Report Share Posted June 20, 2007 wenn ich auf eine Kategorie klicke .... erscheint diese Adresse im Browser: http://www.elmadera.de/index.php?cPath=20 siehe unter www.elmadera.de Link to comment Share on other sites More sharing options...
rivendarkness Posted June 20, 2007 Author Report Share Posted June 20, 2007 aha, dann schau mal in der index.php nach in der nähe von der Variable "CPath" (suche mal nach CPATH) da gibt es eine SELECTabfrage. also so ähnlich wie "SELECT COUNT(*)" Diese Zeile benötige ich hier. Link to comment Share on other sites More sharing options...
webrise Posted June 20, 2007 Report Share Posted June 20, 2007 $category_depth = 'top'; if (isset($cPath) && xtc_not_null($cPath)) { $categories_products_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . $current_category_id . "'"); $cateqories_products = xtc_db_fetch_array($categories_products_query); if ($cateqories_products['total'] > 0) { $category_depth = 'products'; // display products } else { $category_parent_query = xtc_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . $current_category_id . "'"); $category_parent = xtc_db_fetch_array($category_parent_query); if ($category_parent['total'] > 0) { $category_depth = 'nested'; // navigate through the categories } else { $category_depth = 'products'; // category has no products, but display the 'no products' message } } } Link to comment Share on other sites More sharing options...
rivendarkness Posted June 21, 2007 Author Report Share Posted June 21, 2007 Na mal gucken ob das jetzt klappt 1. suche nach: $categories_products_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . $current_category_id . "'"); ersetze mit: $categories_products_query = xtc_db_query("select count * as total from (" . TABLE_PRODUCTS_TO_CATEGORIES . ") where categories_id = '" . $current_category_id . "'"); 2. suche nach: $category_parent_query = xtc_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . $current_category_id . "'"); ersetze mit: $category_parent_query = xtc_db_query("select count * as total from (" . TABLE_CATEGORIES . ") where parent_id = '" . $current_category_id . "'"); Link to comment Share on other sites More sharing options...
webrise Posted June 21, 2007 Report Share Posted June 21, 2007 Jetzt erscheint folgende Fehlermeldung: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as total from (products_to_categories) where categories_id = '24'' at line 1 select count * as total from (products_to_categories) where categories_id = '24' [XT SQL Error] Link to comment Share on other sites More sharing options...
rivendarkness Posted June 21, 2007 Author Report Share Posted June 21, 2007 das ist aber seltsam alles rückgängig machen wieder und dann das hier: suche nach $categories_products_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . $current_category_id . "'"); ersetze mit: $categories_products_query = xtc_db_query("select count * as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . $current_category_id . "'"); Link to comment Share on other sites More sharing options...
webrise Posted June 21, 2007 Report Share Posted June 21, 2007 dann erscheint dieser Fehler: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as total from products_to_categories where categories_id = '24'' at line 1 select count * as total from products_to_categories where categories_id = '24' [XT SQL Error] Übrigens ich danke Dir, rivendarkness, für deine Hilfe Link to comment Share on other sites More sharing options...
rivendarkness Posted June 21, 2007 Author Report Share Posted June 21, 2007 Nix zu danken Ich weiß auch nicht warum ich das hier grad tu wahrscheinlich ehrgeiz zum thema: Aha, dann versteht der SQL-Server also manche Sachen anders als andere...das ist ja auch das ursprüngliche problem...dein mysql-server wurde updatet und hat jetzt gewisse probleme mit der abfragesyntax. Bitte stelle also die Zeile wieder dahin zurück: $categories_products_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . $current_category_id . "'"); Ich hab mir Deinen ursprünglichen Eingangstext nochmal durchgelesen. Die Abfrage hier ist eine ganz andere als die urspüngliche Fehlermeldung aussagt. Suche mal in allen Dateien folgende Zeichenkette: select count(p.products_id) as total from products_description 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 = Wenn Du eine Liste der Dateien hast, wo diese Zeichenkette drin steht, dann bitte hier reindingsen Link to comment Share on other sites More sharing options...
webrise Posted June 21, 2007 Report Share Posted June 21, 2007 Über die Suchefunktion konnte ich diese Zeichenkette in keiner Datei finden. Für die 3er Version des XTC-Shops gab es einen Sql-Patch - gibt es evtl. auch einen für die 2er? Link to comment Share on other sites More sharing options...
rivendarkness Posted June 21, 2007 Author Report Share Posted June 21, 2007 Dann such mal bitte nach ORDER BY pd.products_name ASC Bitte nicht die Windowssuche nutzen! Bitte lade dir dazu sowas wie freecommander runter. Windowstextsuche findet in unbekannten Dateitypen, wozu php zählt, nix. Wegens dem Patch hab ich keine Ahnung. Ich zahle für den Shop nicht, da mich die Qualität des Shops nicht überzeugt, da es voller Fehler ist, wobei ich nicht die sql-sachen meine, sondern das sowas wie das gutscheinsystem nicht funktioniert ohne harten eingriff in die programmierung. Link to comment Share on other sites More sharing options...
webrise Posted June 21, 2007 Report Share Posted June 21, 2007 Diesen Code finde ich nur hier: admin/new_attributes_select.php Ich glaube das hat damit nicht so viel zu tun. P.S. Ich möchte ja auch nicht auf die 3er Version umsteigen, weil ich soviel Stunden in den jetzigen Shop gesteckt habe und dies dann wieder tun muss, um die Templates anzupassen pp. - ich möchte mit dem Shop Geld verdienen und mehr nicht. Link to comment Share on other sites More sharing options...
rivendarkness Posted June 21, 2007 Author Report Share Posted June 21, 2007 Tja, ich hab jetzt mal beim 3er Shop geschaut wo sich diese Select-Abfrage befinden könnten. Diese müssen wir finden, dann haben wir das Problem gepackt. Ich weiß eben nicht inwieweit sich der 2er vom 3er unterscheidet. Die php-Dateien greifen alle ineinader, das es schwer ist den Weg zu verfolgen wo die Abfrage herkommt...ich glaube dazu brauch ich den 2er selber auch Ich muss hier echt die Arme heben, solange ich nicht weiß wo diese Abfrage herkommt kann ich nüschts machen Link to comment Share on other sites More sharing options...
webrise Posted June 21, 2007 Report Share Posted June 21, 2007 bringt es dir was, wenn ich Ihr den Patch für die 3er Version gebe? Hab Dir soeben ne private Mail geschickt Link to comment Share on other sites More sharing options...
rivendarkness Posted June 21, 2007 Author Report Share Posted June 21, 2007 Keine Ahnung wie der Patch aussieht, aber ich guck gerne mal rein...allerdings ging das hier nicht was du gesendet hast. Sende das mal an [email protected] Link to comment Share on other sites More sharing options...
enjoy Posted July 4, 2007 Report Share Posted July 4, 2007 Zur Allroundlösung bei ähnlichen 1054 - Probleme: Ich habe (rot markiert) einfach Klammern gesetzt. Bei vergleichbaren Scripts sollte dies genauso funktionieren. Wer sich etwas mit SQL-Scripts auskennt sollte mit etwas Verstand die Logik verstehen die hinter den Klammern steht. Wer Probleme hat, kann seine Scriptzeile hier reinwerfen, mal gucken ob es dann auch funktioniert, wenn ich dafür dann eine Hilfe gebe. Link to comment Share on other sites More sharing options...
enjoy Posted July 4, 2007 Report Share Posted July 4, 2007 ich werf mal kurz mein Befehl hier rein und würde mich über eine Lösung freuen: 1054 - Unknown column 'p.products_id' in 'on clause' select p.products_fsk18, p.products_shippingtime, p.products_model, p.products_ean, pd.products_name, m.manufacturers_name, p.products_quantity, p.products_image, p.products_weight, pd.products_short_description, pd.products_description, p.products_id, p.manufacturers_id, p.products_price, p.products_vpe, p.products_vpe_status, p.products_vpe_value, p.products_discount_allowed, p.products_tax_class_id from products_description 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 = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '2' and p2c.categories_id = '2' ORDER BY p.products_price ASC Danke Link to comment Share on other sites More sharing options...
rivendarkness Posted July 5, 2007 Author Report Share Posted July 5, 2007 Kriegst Du enjoy. Du hast wohl eine andere Shopversion als ich, bei mir gibt es eine ähnliche Zeile in der default.php Suche also in der default.php folgenden Textstring: select p.products_fsk18 Kopiere die Selectabfrage komplett hier rein und ich schreib dir das dann um... Link to comment Share on other sites More sharing options...
enjoy Posted July 8, 2007 Report Share Posted July 8, 2007 Hallo, die Abfrage steht ja schon oben. Ich habe diese auch in der default.php gefunden. Es scheint jedoch nicht die Richtige zu sein, da trotz dort gemachter Änderungen die gleiche Fehlermeldung angezeigt wird (ja, cache wurde gelöscht). Gibt es noch eine andere Möglichkeit, wo die Abfrage stehen könnte? Shopversion ist die 3.0.4 (SP1) Erstaunlich ist auch, dass ein anderer Shop genau mit dieser Abfrage funktioniert. Wenn ich die Abfrage in mySQL ausführe, komme ich zu dem gleichen Problem.... Bin für jeden Hinweis dankbar ... enjoy Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.