✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Ein Stub zum Arbeiten mit Datenbankabfragen in WordPress

14

So sehr ich ein Fan bestimmter WordPress-APIs zum Abfragen der Datenbank bin, wie zum Beispiel:

Ich bin auch ein Fan davon, bei Bedarf direkt die Datenbank abzufragen.

Wie Sie feststellen werden, gehe ich dabei auf eine einheitliche Weise vor, und da ich dies in letzter Zeit häufiger mache, finden Sie hier ein grundlegendes Format für die Arbeit mit Datenbankabfragen in WordPress.

Wenn ich dies tue, gibt es jedoch im Allgemeinen Dinge, die ich im Auge behalten muss:

  1. Stellen Sie immer sicher, dass die Abfrage parametrisiert ist (insbesondere bei Benutzereingaben),
  2. geben die Informationen in Form eines assoziativen Arrays zurück.

Der erste Fall dient der Sicherheit; Die zweite dient mehr oder weniger der Bequemlichkeit, um das Durchlaufen der Daten über PHP-Array-Funktionen zu vereinfachen.

Datenbankabfragen in WordPress

Zunächst ist es wichtig, zwei Konzepte zu verstehen:

  1. Parametrisierung,
  2. array_column

Dies sind der Kern dessen, wie ich meine Abfragen schreibe und mit den Ergebnissen arbeite.

1 Parametrierung

Sie können mehr darüber im Codex lesen, aber die Parametrisierung ist eine Möglichkeit, mit der wir Abfragen schreiben können, die SQL-Injection verhindern.

Von der Codex-Seite :

Alle Daten in SQL-Abfragen müssen mit SQL-Escapezeichen versehen werden, bevor die SQL-Abfrage ausgeführt wird, um SQL-Injection-Angriffen vorzubeugen. Die prepareMethode führt diese Funktionalität für WordPress aus, das sowohl eine sprintf() -ähnliche als auch eine vsprintf() -ähnliche Syntax unterstützt.

Das heißt, dass die Methode Token wie %s, %d und %f unterstützt, wenn Informationen an die Abfrage übergeben werden. Ein Beispiel dafür zeige ich später im Beitrag.

2 Arbeiten mit Array-Spalten

Ergebnisse solcher Abfragen können auf verschiedene Arten zurückgegeben werden. Nämlich als Objekt, ein numerisch indiziertes Array oder ein assoziatives Array. Meistens verwende ich gerne Arrays (und ich werde später in diesem Beitrag zeigen, wie man das in WordPress macht).

Ein Stub zum Arbeiten mit Datenbankabfragen in WordPress

Der Grund ist jedoch, dass ich die Vorteile von array_column nutzen kann. Aus dem PHP-Handbuch:

array_column() gibt die Werte aus einer einzelnen Spalte der Eingabe zurück, die durch den column_key identifiziert wird. Optional kann ein index_key bereitgestellt werden, um die Werte im zurückgegebenen Array durch die Werte aus der index_key-Spalte des Eingabearrays zu indizieren.

Das bedeutet, wenn Sie ein Array haben und es eine Reihe von Ergebnissen hat, von denen jedes dieselbe Spalte hat, können Sie die Informationen einfach einfach eingeben, indem Sie das Array an eine Methode übergeben und dann den Spaltennamen an eine Methode übergeben.

Das Ergebnis? Ein numerisch indiziertes Array der Werte. Dies macht es viel einfacher, die Daten durch array_map zu durchlaufen, indem for oder foreach verwendet wird .

Ein Stub zum Abfragen der Datenbank

Mit dieser Begründung ist hier der Stub, den ich normalerweise verwende, wenn ich direkt mit Datenbankabfragen arbeite:

Und hier ist ein Beispiel mit ein paar verschiedenen Informationen, damit Sie sehen können, wie es funktioniert :

Die Abfrage der wp_user_meta- Tabelle mag albern erscheinen, da get_user_meta eine gültige API-Funktion ist, aber ich dachte, es wäre eine leicht zu verstehende Abfrage, wenn man bedenkt, was ich in der Vergangenheit zu erklären versuche.

Wie auch immer, ich kann weder die Abfrage bereitstellen noch den Fall behandeln, wenn die Ergebnisse möglicherweise mit mehreren Spalten zurückgegeben werden (in diesem Fall müssen Sie mit etwas anderem als array_map arbeiten, aber das sollte einfach genug sein, oder? )

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen