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: DATABASE ERROR AT - wo liegt der Fehler?

    dtpstudio

    • Neu im Forum
    • Beiträge: 6
    DATABASE ERROR AT - wo liegt der Fehler?
    am: 16. Februar 2016, 07:36:34
    Hallo,

    seit ca. einer Woche kommt ständig per Email diese Meldung:

    Zitat
    1030 - Got error -1 from storage engine

    SELECT p.products_fsk18,
    p.products_id,
    p.products_price,
    p.products_tax_class_id,
    p.products_image,
    p.products_quantity,
    p.products_vpe,
    p.products_vpe_status,
    p.products_vpe_value,
    p.products_model,
    pd.products_name,
    pd.products_short_description
    FROM orders_products op1
    JOIN orders_products op2 on op2.orders_id = op1.orders_id
    JOIN orders o on o.orders_id = op2.orders_id
    JOIN products p on p.products_id = op2.products_id
    JOIN products_description pd on pd.products_id = op2.products_id
    WHERE op1.products_id = 3944
    AND op2.products_id != 3944
    AND p.products_status = 1
    AND trim(pd.products_name) != ''
    AND pd.language_id = 2
    GROUP BY p.products_id
    ORDER BY o.date_purchased desc
    LIMIT 3

    Request URL: ***.de/product_info.php?products_id=3944

    Da ich leider kaum php Kenntnisse habe verstehe ich diesen Fehler einfach nicht.
    Den Cache habe ich sowohl in der Datenbank, als auch im Shopverzeichnis gelöscht.

    Kann mir jemand sagen in welcher Datei der Fehler liegen könnte oder sonst irgendwelche Ideen?

    Liebe Grüße
    dtpstudio

    Linkback: https://www.modified-shop.org/forum/index.php?topic=34371.0
    Trade Republic - Provisionsfrei Aktien handeln

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #1 am: 16. Februar 2016, 07:44:34
    Ich weiß nicht ob das etwas mit dem Fehler zu tun hat... Aber sehe ich das richtig? Da wird eine Tabelle mit sich selbst (orders_products) gejoint und anschließend gibt es als Auswahlbedingung, dass sie die orders_id enthält und gleichzeitig nicht?

    Und wieso fragt die "products_info.php" überhaupt Daten aus irgendwelchen Bestellungen (orders_products, orders) ab? Da hast du vermutlich irgendwo dran rumgefummelt und sonstetwas eingebaut ^^

    Die relevante Datei ist gelistet: product_info.php

    dtpstudio

    • Neu im Forum
    • Beiträge: 6
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #2 am: 16. Februar 2016, 07:57:09
    Also an der product_info.php hab ich nichts geändert, habe gerade nochmal den kompletten Code mit einem frisch gedownloadeten verglichen.
    Setzte mich jetzt nochmal dran und vergleiche jede einzelne Datei, die geändert wurde im Laufe der Zeit. Aber eigentlich habe ich letzte Woche lediglich die Gutscheineingabe aus dem Warenkorb verschoben (mit Anleitung)..

    webald

    • modified Team
    • Beiträge: 2.791
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #3 am: 16. Februar 2016, 08:41:44
    Die Abfrage ist ok und wohl auch der Code des Shops. Der Fehler deutet auf ein Problem mit der Datenbank hin. Das beste ist du kontaktierst Deinen Hoster.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #4 am: 16. Februar 2016, 13:40:39
    Ist das immer diese Artikelnummer?

    Was sagt myphpadmin, wenn Du genau diese Abfrage manuell ausführst?

    Die Request URL: ***.de/product_info.php?products_id=3944 könnte irreführend sein! Das
    Code: SQL  [Auswählen]
    LIMIT 3
    am Ende sagt mir, es könnte eine Box sein! Was ist denn bei Dir mit 3 Limitiert?

    dtpstudio

    • Neu im Forum
    • Beiträge: 6
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #5 am: 16. Februar 2016, 15:13:38
    Nein, es sind immer unterschiedliche Artikelnummern.
    Aber wenn ich das so in phpmyadmin eingebe, spuckt er mir 3 Produkte aus ohne Fehlermeldung. Scheint also an sich zu funktionieren?

    Und das mit dem Limit weiß ich jetzt auch nicht so genau.. könnte das mit den min und max-Werten im Backend zusammenhängen?

    Auf jeden Fall schon mal ein großes Danke für die Bemühungen hier!

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #6 am: 16. Februar 2016, 15:30:21
    Gefunden!

    In der Klasse product (/includes/classes/product.php)
    Code: PHP  [Auswählen]
        $orders_query = "SELECT ".$this->default_select."
                           FROM "
    .TABLE_ORDERS_PRODUCTS." op1
                           JOIN "
    .TABLE_ORDERS_PRODUCTS." op2 on op2.orders_id = op1.orders_id
                           JOIN "
    .TABLE_ORDERS." o on o.orders_id = op2.orders_id
                           JOIN "
    .TABLE_PRODUCTS." p on p.products_id = op2.products_id
                           JOIN "
    .TABLE_PRODUCTS_DESCRIPTION." pd on pd.products_id = op2.products_id
                                               LEFT JOIN autors_to_products ap ON pd.products_id=ap.products_id LEFT JOIN autors a ON ap.autors_id=a.autors_id
                          WHERE op1.products_id = "
    .$this->pID."
                            AND op2.products_id != "
    .$this->pID."
                            AND p.products_status = 1
                            AND trim(pd.products_name) != ''
                            AND pd.language_id = "
    .(int) $_SESSION['languages_id']
                                .$group_check
                                .$fsk_lock."
                       GROUP BY p.products_id
                       ORDER BY o.date_purchased desc
                          LIMIT "
    .MAX_DISPLAY_ALSO_PURCHASED;

    Ja, die 3 ist im Backend eingestellt .... MAX_DISPLAY_ALSO_PURCHASED ist bei "Konfiguration -> Maximum Werte -> Ebenfalls gekauft" eingestellt.

    Ich verstehe nur nicht warum der Fehler auftritt. Möglicherweise hat der Server ein Problem oder aber die Datenbankdatei.

    Wegen zweiterem versuche mal folgendes:
    In myphpadmin die Datenbank auswählen, dann ganz unten alle Tabellen auswählen und zuerst "Überprüfe Tabelle" , dann"Repariere Tabelle". Danach noch "Optimiere Tabelle".

    Manchmal sind solch gelagerte Fehler damit verschwunden.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    dtpstudio

    • Neu im Forum
    • Beiträge: 6
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #7 am: 16. Februar 2016, 15:36:43
    Habe die Datenbank jetzt überprüft, repariert und optimiert. Hat alles ohne Fehlermeldungen geklappt.

    Weiß allerdings nicht, ob das jetzt was geholfen hat, weil diese Fehlermails meistens so um 2 Uhr nachts bzw. morgens kommen.

    Ich melde mich dann morgen nochmal, ob der Fehler jetzt behoben ist!

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #8 am: 16. Februar 2016, 15:39:20
    Läuft da nachts ein Backup der DB?

    dtpstudio

    • Neu im Forum
    • Beiträge: 6
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #9 am: 16. Februar 2016, 15:41:40
    Ich habe nichts in der Richtung eingestellt.
    Kann nur sein, wenn das in modified irgendwo voreingestellt ist oder es liegt an 1und1 (was mich nicht wundern würde..)

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #10 am: 16. Februar 2016, 16:05:10
    Bei 1und1 wundert mich GAR NICHTS mehr ... seit ich bei denen weg bin, hat mein Shop nur noch ganz selten mal ein Problemchen.

    dtpstudio

    • Neu im Forum
    • Beiträge: 6
    Re: DATABASE ERROR AT - wo liegt der Fehler?
    Antwort #11 am: 17. Februar 2016, 10:27:49
    Also bis jetzt habe ich tatsächlich keine Meldung mehr bekommen, scheint funktioniert zu haben!
    Ein ganz großes Dankeschön!  :thx: