get_results und set lc_time_names = 'de_DE'?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Wie kann ich get_results() {select...} set lc_time_names übergeben?

    In $wpdb->prepare kannst du jede SQL-Abfrage, die MySQL unterstütz ausführen und musst lediglich die variablen Werte als Platzhalter in der Abfrage angeben um sie nach dem Komma in der richtigen Reihenfolge zu übergeben.

    Mit offenen Augen träumen

  • OK, SQL phpmyadmin macht daraus halt 2 Abfragen.
    Löst aber jetzt nicht wirklich mein Problem.
    SET ...;
    SELECT...

    läuft halt im phpmyadmin als sql-query einwandfrei.
    Mit prepare kann ich zwar ne Variable übergeben, aber halt nur innerhalb des select, oder hab ich da was übersehen?

    3 Mal editiert, zuletzt von Boar (21. Oktober 2019 um 19:49)

  • Ah - sorry, klar ist nen Datenbank Problem, also sowieso offtopic.
    Gelöst indem ich lc_time_names = 'de-DE' in die my.cnf der Datenbank eingefügt habe.
    Jetzt bekomme ich automatisch deutsche Wochentage und Monate.
    Vielen Dank für die Hilfe und die Arbeit.

  • Stellt sich natürlich noch die Frage, wie man das lösen kann, wenn man keinen Zugriff auf my.cnf hat.
    Gibt es die Möglichkeit bei der Verbindung zur Datenbank diese Option zu übergeben?

  • Das Problem sind die halt doch überwiegend eingesetzten Shared Hosting Systeme, bei denen eine Änderung der my.cnf nicht möglich ist. D.h. ich habe irgendeinen vorgegebenen Zeitnamensbereich, meist wohl also en_EN. Für die deutschen Wochentage und Monate brauche ich aber de_DE. Das geht bei mysql problemlos, indem ich set lc_time_names = 'de-DE'; vor dem select ausführe und der Datenbank damit mitteile vor dem eigentlichen select auf de_DE umzustellen. Nur wie mache ich das bei WP?
    Sicherlich kann ich die ja eigentlich perfekt funktionierende Abfrage mit irgendwelchen php variablen umschreiben, aber das macht bei vielen Abfragen halt auch viel Arbeit. Die Preisfrage lautet also kann ich bei der Connection zur Datenbank von WP aus irgendwelche Optionen mitteilen?

    Bei #4 greife ich via php auf die Datenbank zu - und habe da natürlich die gleichen Probleme: set wird halt nur im sql-Kontex als Abfrage ausgeführt. Im konkreten Fall passiert halt einfach nichts.

    Einmal editiert, zuletzt von Boar (25. Oktober 2019 um 15:25)

  • Seltsam, hier funktioniert das einwandfrei...

  • Für WP vielleicht, für mich ganz sicher nicht.
    Ich mache sehr komplexe SQL-Abfragen (teilweise mehre hundert zeilen code).
    Da reicht mir dann schon die Fehlersuche, warum das in SQL funktioniert, in WP aber nicht, auch ohne die ganze Abfrage umzuschreiben, um irgendwelche Variablen zusätzlich einzuführen.

    Einmal editiert, zuletzt von Boar (26. Oktober 2019 um 19:10)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!