Werbung / Banner buchen
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: SQL Problem

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    SQL Problem
    am: 23. September 2012, 00:48:24
    Habe in meinem News Manager folgende Fehlermeldung
    Code: SQL  [Auswählen]
    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 'SELECT n.news_id, n.status, n.show_date, DATE_FORMAT(' at line 2

    SELECT COUNT(news_id) AS total SELECT n.news_id, n.status, n.show_date, DATE_FORMAT(n.date, '%d.%m.%Y, %H:%i') AS DATE, nd.title, nd.subtitle, nd.shorttext, nd.text, nd.image FROM modul_news n, modul_news_description nd WHERE n.news_id = nd.news_id AND n.status = 0 AND nd.language_id = '2' AND ( nd.title LIKE "%test%" OR nd.subtitle LIKE "%test%" OR nd.shorttext LIKE "%test%" OR nd.text LIKE "%test%" OR nd.image LIKE "%test%" OR nd.download_file LIKE "%test%" OR nd.download_file_title LIKE "%test%" ) AND n.date >= DATE_SUB(NOW(), INTERVAL 7 DAY) ORDER BY n.date DESC
     

    Weiß jemand, wo das Problem liegt?

    Danke.

    Gerd

    Linkback: https://www.modified-shop.org/forum/index.php?topic=22428.0

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.484
    Re: SQL Problem
    Antwort #1 am: 23. September 2012, 02:03:20
    Hi Gerd
    müßte es nicht so.
    SELECT COUNT(news_id) AS total, n.news_id,

    ich kann das ja so nicht ausprobieren,aber irgendwie erscheint mir das falsch zu sein..
    Gruß
    Günter

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: SQL Problem
    Antwort #2 am: 23. September 2012, 03:04:14
    Nee Günter. Da bist du auf dem Holzweg.

    Das Problem wird durch die verbuggte split_page_results.php erzeugt.

    Bei COUNT() und gleichzeitiger Nennung des Spaltennamen muss der Name in ' (Hochkomma) gesetzt sein.
    Richtig wäre:
    Code: SQL  [Auswählen]
    SELECT COUNT('news_id') AS total

    Um zu sehen, ob es wirklich die split_page_results.php ist, würde ich die aus dem SP1b kurz in den Shop einbauen und testen.

    Gruß
    Ronny

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.484
    Re: SQL Problem
    Antwort #3 am: 23. September 2012, 03:26:27
    @Ronny
    Guten Morgen erstmal.
    Ist aber das zweite SELECT nicht trotzdem überflüssig bzw. falsch
    Gruß
    Günter
     

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: SQL Problem
    Antwort #4 am: 23. September 2012, 03:37:08
    Nein, das passt so schon. Solche Abfrage gibt es zu Hauf im modified eCommerce Shopsoftwareod.

    Wirst sehen, wenn Gradler den Test gemacht hat, wird sich meine Vermutung bestätigen.

    Gruß
    Ronny

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.484
    Re: SQL Problem
    Antwort #5 am: 23. September 2012, 03:45:56
    @Ronny
    Ich muß gestehen, daß ich meine sql Abfragen immer Stückweise zusammenbastel, sooooo gut bin ich ( wie in Allem - fundiertes Halbwissen ) nicht.
    Gruß
    Günter

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Re: SQL Problem
    Antwort #6 am: 23. September 2012, 03:47:39
    Zwei Selects gibt es schon, nennt sich dann Subselect.
    Normalerweise sehen die aber immer etwas anders aus.

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.484
    Re: SQL Problem
    Antwort #7 am: 23. September 2012, 03:55:34
    Hallo Simon und Ronny
    Jetzt wird es hier zu einer interressanten Diskussion, nur Gradler ist nicht dabei.
    Und der hatte eigentlich die Frage gestellt.
    ich hatte in meiner DB mal probiert : Beispiel
    geht nicht : SELECT COUNT('customers_id') AS total SELECT entry_state FROM address_book
    geht : SELECT COUNT('customers_id') , entry_state FROM address_book

    aber wie geschrieben ( fundiertes Halbwissen )
    Gruß
    Günter

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: SQL Problem
    Antwort #8 am: 23. September 2012, 11:36:52
    Nein, das passt so schon. Solche Abfrage gibt es zu Hauf im modified eCommerce Shopsoftwareod.

    Wirst sehen, wenn Gradler den Test gemacht hat, wird sich meine Vermutung bestätigen.

    Gruß
    Ronny

    Danke Ronny,

    die Änderung der includes/classes/split_page_results.php war die Lösung. Die Fehlermeldung ist weg.

    Gerd

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: SQL Problem
    Antwort #9 am: 23. September 2012, 11:49:04
    Aus einer Vermutung ist nun Gewissheit geworden.

    Problem ist nur, dass das Problem der split_page_results.php dadurch nicht behoben ist.

    Gruß
    Ronny

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: SQL Problem
    Antwort #10 am: 23. September 2012, 11:51:30
    Das wollte ich auch noch anmerken, bin aber anderweitig noch am rumprobieren ob das "downgrade" eventuelle Probleme anderweitig macht.

    Gerd

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: SQL Problem
    Antwort #11 am: 23. September 2012, 11:57:39
    Versuch mal bitte folgendes:

    Nimm wieder die aktuelle split_page_results.php und mache aus:
    Code: PHP  [Auswählen]
    $reviews_count_query = xtc_db_query("select count(" . $count_string . ") as total " . substr($query, $pos_from, ($pos_to - $pos_from)));

    dieses:
    Code: PHP  [Auswählen]
    $reviews_count_query = xtc_db_query("select count('" . $count_string . "') as total " . substr($query, $pos_from, ($pos_to - $pos_from)));

    Vielleicht klappt es damit wieder.

    Gruß
    Ronny

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: SQL Problem
    Antwort #12 am: 23. September 2012, 12:29:27
    Danke Ronny,

    mit der Änderung geht auch die aktuelle split_page_results.php wieder.

    Stellt sich halt generell die Frage, da im aktuellen SP1d ohne zusätzliche Einbauten keine Fehlermeldungen kamen, ob es nun an der split_page_results.php liegt oder an alten Erweiterungen die eingebaut werden und nicht mehr auf dem aktuellen Stand sind oder daran, dass es eben keinen "Erweiterungen/Module" Standard gibt und jeder das so macht wie er/sie es gerade für angemessen halten?

    Gerd

    web28

    • modified Team
    • Beiträge: 9.404
    Re: SQL Problem
    Antwort #13 am: 23. September 2012, 13:58:01
    Nee Günter. Da bist du auf dem Holzweg.

    Das Problem wird durch die verbuggte split_page_results.php erzeugt.

    Bei COUNT() und gleichzeitiger Nennung des Spaltennamen muss der Name in ' (Hochkomma) gesetzt sein.
    Richtig wäre:
    Code: SQL  [Auswählen]
    SELECT COUNT('news_id') AS total

    Um zu sehen, ob es wirklich die split_page_results.php ist, würde ich die aus dem SP1b kurz in den Shop einbauen und testen.

    Gruß
    Ronny

    Das mit dem Spaltennamen in Hochkommata ist für mich nicht nachvollziehbar, wenn das wirklich so wäre, wäre der Fehler schon seit 10 Jahren in OSC und Forks unerkannt vorhanden.

    Statt
    Code: SQL  [Auswählen]
    SELECT COUNT('news_id') AS total

    muss es heißen:
    Code: SQL  [Auswählen]
    SELECT COUNT(n.news_id) AS total

    Die Parameterübergabe an die Funktion ist also falsch (news_id muss auf n.news_id geändert werden).

    Mit der vorgeschlagenen Hochkommaergänzung würde das nicht mehr funktionieren:

    Code: PHP  [Auswählen]
    $count_string = 'DISTINCT ' . xtc_db_input($count_key);

    Gruss Web28

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: SQL Problem
    Antwort #14 am: 23. September 2012, 14:13:41
    Als Unwissender kann ich nur sagen und bestätigen, daß die Hochkommalösung funktioniert.

    Und vor SP1d hatte das news_id auch funktioniert. Weshalb dann nach einem Update plötzlich nicht mehr?

    Irgendwo ist da seit Anbeginn (X T : C ommerce) der Wurm drinn ...

    Gerd

    2 Antworten
    2580 Aufrufe
    06. Mai 2015, 09:56:50 von Matt
    0 Antworten
    2242 Aufrufe
    08. Februar 2010, 15:08:35 von Toby
    12 Antworten
    6678 Aufrufe
    24. April 2012, 22:08:56 von noRiddle (revilonetz)
    5 Antworten
    3356 Aufrufe
    09. April 2013, 10:33:53 von WayneTsun