Verwenden von $wpdb in WordPress zum Ausführen von SQL-Befehlen
Lesezeit: 2 Minuten
GRS
Ich habe einen einfachen Update-Befehl erstellt, um einen Datenbankeintrag zu aktualisieren. Ich möchte in der Lage sein, jede SQL-Anweisung auszuführen und meine WordPress-Datenbank zu aktualisieren:
<?php
global $wpdb;
$sql = "UPDATE tablename SET column1='testdata' WHERE id=1";
$results = get_results($sql); ?>
oder
$results = query($sql);
Egal was ich mache bekomme ich den Fehler:
Schwerwiegender Fehler: Aufruf einer Member-Funktion get_results() auf null in C:\MAMP\htdocs\new\samplesql.php in Zeile 4
Mike32
Versuchen Sie stattdessen Folgendes:
<?php
include_once("wp-config.php");
include_once("wp-includes/wp-db.php");
$sql = "UPDATE tablename SET column1='testdata' WHERE id=1";
$results = $wpdb->get_results($sql);
Sie müssen die Dateien einschließen, in denen das Datenbankobjekt definiert ist.
Ich sehe, bei mir funktioniert es auch. Ich bin überrascht, dass ich dies nicht in der Funktionsdokumentation erwähnt habe. Jedenfalls vielen Dank!
– GRS
23. Februar 2017 um 0:27 Uhr
Ich habe viel recherchiert, um einen einfachen Weg und Code zu finden, der wirklich funktioniert. Der Code, den Sie geschrieben haben, ist großartig und funktioniert gut. Mein WordPress ist Version 6
– masoud nkh
26. Mai um 11:48 Uhr
Gerrit Elbrink
Die Funktionen get_results() und query() funktionieren nur in Kombination mit der globalen $wpdb.
Zum Beispiel:
global $wpdb;
$wpdb->get_results($sql);
Hier ist ein vollständiges Beispiel.
global $wpdb;
$sql="SELECT p.post_title FROM wp_posts as p WHERE p.post_status = %s";
$vars = ['publish'];
$result = $wpdb->get_results( $wpdb->prepare($sql, $vars) );
Ich erstelle gerne eine WordPress-Seitenvorlage und muss dann keine erforderlichen WordPress-Dateien hochladen. Das WordPress-Framework ist bereits geladen.
Erstellen Sie eine neue Datei in Ihrem Themenverzeichnis, benennen Sie sie in etwa „template-phpwork.php“ und dann wird der Inhalt in der Datei sein:
<?php /* Template Name: Custom PHP Work */
?>
Und Sie können Ihren Code in diese Datei einfügen.
Erstellen Sie eine neue WordPress-Seite und wählen Sie die Vorlage „Custom PHP Work“.
Veröffentlichen und zeigen Sie dann Ihre Seite an, und Sie können sie so oft wie nötig neu laden, um Ihre benutzerdefinierten Codeanforderungen zu erfüllen.
14013700cookie-checkVerwenden von $wpdb in WordPress zum Ausführen von SQL-Befehlenyes