Heim > Backend-Entwicklung > PHP-Tutorial > Funktionen, die für WordPress-Datenbankoperationen verwendet werden.

Funktionen, die für WordPress-Datenbankoperationen verwendet werden.

WBOY
Freigeben: 2016-08-08 09:23:32
Original
1154 Leute haben es durchsucht



Wenn Sie bei Verwendung von WordPress die in WP gekapselte Datenbankoperationsklasse (wp-db.php) direkt verwenden möchten, fügen Sie einfach wp-blog-header.php in den verwendeten Code ein.

define(‘PATH’, dirname(dirname(__FILE__)).‘/’);  
require_once(PATH . ‘../wp-blog-header.php’);  
global $wpdb; 
Nach dem Login kopieren

Beim Einfügen von Daten besteht eine der Methoden darin, die Funktion insert() in der Klasse wp-db zu verwenden.

$table = "test_table";
$data_array = array(
‘column_1′ => ‘data1′,
‘column_2′ => ‘data2′
);
$wpdb->insert($table,$data_array);
Nach dem Login kopieren

Der erste Parameter ist der Name in der Datenbanktabelle und der zweite Parameter sind die einzufügenden Daten, bei denen es sich um ein Array handelt. Der Name des Schlüssels im Array ist der Spaltenname in der Tabelle. Tatsächlich verfügt die Funktion insert() auch über ein drittes Parameterformat. Interessierte Freunde können in der Methodendefinition von wp-db.php sehen, dass Sie beim Aktualisieren von Daten die Funktion update() verwenden können, zum Beispiel:

$table = "test_table";
$data_array = array(
 ‘column_1′ => ‘new_data1′
);
$where_clause = array(
Nach dem Login kopieren
‘column_2′ => ‘data2′
);
$wpdb->update($table,$data_array,$where_clause);
Nach dem Login kopieren

Es gibt viele Möglichkeiten, Daten aus der Datenbank abzurufen. Eine davon ist die folgende:

$querystr = "SELECT column_1 FROM test_table";
$results = $wpdb->get_results($querystr);
$i=0;
while ($i< count($results)){
echo $results[$i]->column_1."<br />";
$i++;
}
Nach dem Login kopieren

PHP-Syntax abfragen

<strong><?php $wpdb->query("DELETE FROM $wpdb->post WHERE post_id = ’13′ “); ?> </strong>
Nach dem Login kopieren

Der Parameter von Abfrage ist eine beliebige MySQL-Anweisung. Der Rückgabewert gibt an, wie viele Zeilen ausgewählt und betroffen waren. Gibt FALSE zurück, wenn ein Fehler auftritt.

Wählen Sie eine Variable aus

<strong><?php $wpdb->get_var('query',column_offset,row_offset); ?> </strong>
Nach dem Login kopieren


wobei Abfrage die abzufragende MySQL-Anweisung ist. Wenn sie leer ist, bedeutet dies, dass sie aus dem Cache ausgewählt wird. Column_Offset und Row_offet geben die Spalte und Zeile des Abfragerückgabewerts an, und der Standardwert ist Null. Typische Verwendung ist:

<?php $user_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->users;"));?>
Nach dem Login kopieren

Diese SQL wählt nur einen Wert aus, und der Standardwert ist 0 Zeilen und 0 Spalten, was bedeutet, dass die Anzahl der Benutzer ausgewählt wird. Es ist unklar, warum „prepare“ hier immer vorangestellt wird.

Wählen Sie eine Zeile aus

<strong><?php $wpdb->get_row('query', output_type, row_offset); ?> </strong>
Nach dem Login kopieren

Abfrage ist die auszuführende MySQL-Anweisung. Ausgabetyp gibt an, ob der Rückgabewert ein Objekt, ein Hash oder ein Array ist. Zeilenoffset gibt die Zeile an .

Standardmäßig ist „Ausgabetyp“ „Objekt“.

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");
echo $mylink->link_id; // gibt „10“ aus

Wenn Output_type=ARRAY_A, dann:

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);
echo $mylink['link_id']; // prints "10"
Nach dem Login kopieren

Wählen Sie eine Spalte aus

get_col('query',column_offset); ? >

Allgemein auswählen

//$wpdb->get_results('query', output_type);

<?php
$fivesdrafts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts
WHERE post_status = 'draft' AND post_author = 5");

foreach ($fivesdrafts as $fivesdraft) {
echo $fivesdraft->post_title;
}
Nach dem Login kopieren

Zeile einfügen

<strong>//<?php $wpdb->insert( $table, $data, $format ); ?>
<?php $wpdb->insert('table', array('column1' => 'value1', 'column2' => 123 ), array('%s','%d') ) ?></strong>
Nach dem Login kopieren


Aktualisieren

//$wpdb->update( $table, $data, $where, $format = null, $where_format = null );
<?php $wpdb->update( 'table', array( 'column1' => 'value1', 'column2' => 'value2' ), array( 'ID' => 1 ), array( '%s', '%d' ), array( '%d' ) ) ?>
Nach dem Login kopieren

Über wpdb Prepare
Wie bereits erwähnt, ist nicht klar, warum jede MySQL-Anweisung in Prepare enthalten ist. Hier ist eine Erklärung: Da die MySQL-Anweisung beim Senden Zeichen wie einfache Anführungszeichen und doppelte Anführungszeichen enthalten kann Direkt ohne Verarbeitung in MySQL kann es zu Fehlern kommen. Hier verwenden wir also eine Vorbereitung, um die MySQL-Anweisung vorzuverarbeiten. Die Syntax von Prepare lautet:

$sql = $wpdb->prepare( 'query' [, value_parameter, value_parameter ... ] );
Nach dem Login kopieren

Die Abfrage kann %d, %S und %f enthalten, die jeweils angeben, dass der Typ der folgenden Parameter eine Ganzzahl ist , Zeichen und Gleitkomma, wenn Sie das %-Zeichen anzeigen möchten, verwenden Sie %%. Die Syntax ist im Grunde die gleiche wie printf in der C-Sprache.
Das ist im Grunde alles. Bei der Verarbeitung allgemeiner Datenbanken sollte es keine Probleme geben. Wenn Sie auf Probleme stoßen, können Sie dies in dem am Anfang dieses Artikels erwähnten Artikel nachlesen.

$wpdb ist eine globale Variable, die mehrere Datenbankabfragefunktionen enthält:

$wpdb -> get_results('query');
$wpdb->query('query');
$wpdb->get_var('query',column_offset,row_offset);
$wpdb->get_row('query', output_type, row_offset);
$wpdb->get_col('query',column_offset);
$wpdb->get_results('query', output_type);
$wpdb->insert( $table, $data, $format );
$wpdb->update( $table, $data, $where, $format = null, $where_format = null );
$wpdb->prepare( 'query' [, value_parameter, value_parameter ... ] );
$wpdb->show_errors();
$wpdb->hide_errors();
$wpdb->print_error();
$wpdb->get_col_info('type', offset);
$wpdb->flush(); 
Nach dem Login kopieren

Mehr: http://codex.org/zh -cn:Class_Reference/wpdb




Das Obige stellt die Funktionen vor, die in WordPress-Datenbankoperationen verwendet werden. Ich hoffe, dass es Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein wird, einschließlich relevanter Inhalte.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage