Du möchtest die Datenbank von WordPress für Deine PHP Skripte nutzen, bzw. eventuell sogar Daten manipulieren und verarbeiten? Dann kannst Du ganz einfach auf die bereits hinterlegten mySQL-Datenbank Informationen von WordPress zurückgreifen. WordPress bietet dafür eine Reihe von Funktionen, damit das möglichst problemlos und einfach möglich ist. Wir zeigen Dir, wie das genau funktioniert.
Inhaltsverzeichnis
Warum sollte ich auf die WordPress Datenbank zurückgreifen?
Wenn man mit PHP programmiert oder auch neue WordPress Plugins entwickelt, dann ist es ratsam, das Rad nicht ständig neu zu erfinden. WordPress benötigt sowieso einen mySQL Datenbankzugriff. Warum also diese Verbindung nicht einfach für PHP-Skripte nutzen? Dadurch sparst Du Dir eine zusätzliche Konfigurationsdatei und zudem kannst Du mit nur einer Datei alle Verbindungen aktualisieren. Praktisch, findest Du nicht auch?
Wo sind die WordPress Datenbank Informationen gespeichert?
Die mySQL-Verbindungsdaten sind in der Datei wp-config.php im Hauptverzeichnis von WordPress gespeichert. Beachte, dass Du diese Datei nur unter bestimmten Umständen verändern solltest, da Du sonst Deine WordPress Website offline nimmst.
Wie kann ich die WordPress Datenbank Informationen nutzen?
Damit Du die mySQL-Verbindungsdaten von WordPress nutzen kannst, musst Du in Deinem PHP-Skript lediglich den Aufruf dazu verankern. Dieser verweist aber nicht auf die wp-config.php Datei, wie man vermuten könnte, sondern lautet
// Auf WordPress Funktionen zurückgreifen
require_once "wp-load.php";
global $wpdb;
Wie kann man Daten aus der WordPress Tabelle abfragen?
Durch diese Verbindungsoption ändern sich nun auch die mySQL Abfrageparameter innerhalb Deines Skripts:
// Ein Beispiel: Abrufen von Daten aus einer benutzerdefinierten Tabelle
$results = $wpdb->get_results( "SELECT * FROM deine_tabelle" );
foreach ( $results as $row ) {
// Zugriff auf die Daten jedes Eintrags
echo $row->deine_spalten_name;
}
Wie kann man Daten in die WordPress Tabelle einfügen
Das Einfügen von Daten hingegen kannst Du ganz einfach so bewerkstelligen:
// Beispiel: Daten in eine benutzerdefinierte Tabelle einfügen
$wpdb->insert(
'deine_tabelle', // Tabelle
array(
'spalte1' => 'Wert1',
'spalte2' => 'Wert2', // etc.
),
array(
'%s', // Datentyp für spalte1 (string)
'%s', // Datentyp für spalte2 (string)
)
);
oder auch so
$results = $wpdb->get_results( "INSERT INTO `deine_tabelle` (`spalte1`, `spalte2`) VALUES ('Wert1', 'Wert2')" );
Sichere mySQL-Statements mit prepare()
Um SQL-Injection-Angriffe zu vermeiden, wird empfohlen die SQL-Statements sicher vorzubereiten (prepare) und dann als Befehl zu übermitteln. Selbstverständlich haben wir auch dafür einen Beispielcode für Dich:
global $wpdb;
$user_id = 10; // Angenommen, dies ist die Nutzer-ID, für die du Daten abfragen möchtest
// Bereite das SQL-Statement mit Platzhaltern vor
$query = $wpdb->prepare("SELECT * FROM deine_tabelle WHERE user_id = %d", $user_id);
// Führe die Abfrage aus
$results = $wpdb->get_results($query);
// Iteriere durch die Ergebnisse
foreach ($results as $row) {
// Zugriff auf die Eigenschaften von $row, z.B. $row->column_name
echo $row->column_name; // Ersetze `column_name` mit dem Namen der Spalte, auf die du zugreifen möchtest
}