Ich habe eine individuelle Datenbanktabelle in der Wordpress-Datenbank erstellt und möchte die in einem Seiten-Template auslesen.
Wenn ich jetzt die Selects mit der wpdb-Klasse zum Test auf Wordpress-Standard-Tabellen ausführe, funktioniert das auch einwandfrei.
Sobald ich auf meine eigene oder auch auf Plugin-spezifische (z. B. WP_SIMILAR_TAGS) Tabellen zugreifen will, bekomme ich eine Fehlermeldung:
WordPress database error: [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 '' at line 1]
SELECT beispielspalte FROM WHERE beispielspalte > 1
Woran könnte das liegen? Auffällig ist, dass in der Fehlermeldung zwischen FROM und WHERE nichts steht.
eigene Tabelle mit wpdb-Klasse auslesen
-
-
- Gerade eben
- 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)
-
-
-
In der WPDB-Klasse ist ja sicher deine Tabelle nicht als Membervariable hinterlegt, also kannst du auch nicht per $wpdb->eigenetabelle darauf zugreifen. So gehts:PHP$ergebnis = $wpdb->get_col("SELECT beispielfeld FROM {$table_prefix}eigenetabelle WHERE jahr = 2008");
oderPHP$ergebnis = $wpdb->get_col("SELECT beispielfeld FROM {$wpdb->prefix}eigenetabelle WHERE jahr = 2008");
(Welche Version jetzt besser ist kann ich dir nicht sagen, $table_prefix ist ne globale Variable, was ja an sich schon unschön ist, aber der Zugriff zu $wpdb->prefix ist im PHPDoc als "private" angegeben, was bei der PHP4-Syntax aber keine Auswirkungen auf die tatsächliche Sichtbarkeit hat)[SIZE="1"]PS: in XHTML schreibt man HTML-Elementnamen klein. ;-)[/SIZE]
-
Vielen Dank für die Hilfe, das war genau die Info, die ich brauchte. Jetzt funktioniert meine Abfrage.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!