1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WP 4.5 get_results und set lc_time_names = 'de_DE'?

Dieses Thema im Forum "Konfiguration" wurde erstellt von Boar, 21. Oktober 2019.

  1. Boar

    Boar Member

    Registriert seit:
    13. Oktober 2019
    Beiträge:
    10
    Zustimmungen:
    0
    Wie kann ich get_results() {select...} set lc_time_names übergeben?
     
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    4.520
    Zustimmungen:
    56
    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.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    Boar gefällt das.
  3. Boar

    Boar Member

    Registriert seit:
    13. Oktober 2019
    Beiträge:
    10
    Zustimmungen:
    0
    Schon, aber ich hab ja eigentlich 2 Abfragen:
    1.
    SET lc_time_names = 'de_DE';
    2.
    SELECT
    ......
     
  4. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    4.520
    Zustimmungen:
    56
    SET ist keine Abfrage

    mysqli_query("SET lc_time_names = 'de_DE'");
    $result = mysqli_query("SELECT DATE_FORMAT(NOW(), '%W, %e. %M %Y')");

    https://dev.mysql.com/doc/refman/8.0/en/locale-support.html
     
    Boar gefällt das.
  5. Boar

    Boar Member

    Registriert seit:
    13. Oktober 2019
    Beiträge:
    10
    Zustimmungen:
    0
    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?
     
    #5 Boar, 21. Oktober 2019
    Zuletzt bearbeitet: 21. Oktober 2019
  6. Boar

    Boar Member

    Registriert seit:
    13. Oktober 2019
    Beiträge:
    10
    Zustimmungen:
    0
    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.
     
  7. Boar

    Boar Member

    Registriert seit:
    13. Oktober 2019
    Beiträge:
    10
    Zustimmungen:
    0
    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?
     
  8. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.331
    Zustimmungen:
    563
    Was genau funktioniert denn mit dem Code mit den beiden Queries aus #4 nicht?
     
  9. Boar

    Boar Member

    Registriert seit:
    13. Oktober 2019
    Beiträge:
    10
    Zustimmungen:
    0
    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.
     
    #9 Boar, 25. Oktober 2019
    Zuletzt bearbeitet: 25. Oktober 2019
  10. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.331
    Zustimmungen:
    563
    Seltsam, hier funktioniert das einwandfrei...
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    Boar gefällt das.
  11. Boar

    Boar Member

    Registriert seit:
    13. Oktober 2019
    Beiträge:
    10
    Zustimmungen:
    0
    Vielen Dank. Funktioniert einwandfrei, wenn man es richtig macht......
     
  12. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.331
    Zustimmungen:
    563
  13. Boar

    Boar Member

    Registriert seit:
    13. Oktober 2019
    Beiträge:
    10
    Zustimmungen:
    0
    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.
     
    #13 Boar, 26. Oktober 2019
    Zuletzt bearbeitet: 26. Oktober 2019
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden