Sidebar
ein-/ausblenden

Die WordPress Datenbank Möglichkeiten

Plugin für WordPress SEO

Anzeige

Die WordPress Datenbank Klasse ist recht umfangreich und liefert eine ganze Reihe von Methoden um effektiv mit der Datenbank zu arbeiten und dabei auf den WordPress-Standard zuzugreifen.

Zu finden ist die Klasse in /wp-includes/wp-db.php, wo auch die einzelnen Methoden dokumentiert sind. Dort sind weitere Methoden zu finden, allerdings sind die wichtigsten oft in Gebrauch und daher sind diese nur ein Teil der Klasse.

Ich zeige mal die wichtigsten und lege kleine Beispiele ab, zum Teil in unterschiedlichen Schreibweisen, um die Möglichkeiten aufzuzeigen. Es ist von größer Bedeutung mit diesen Möglichkeiten zu arbeiten und so die Sicherheit von Plugins zu gewährleisten. Sie geben ausreichend Möglichkeiten in die Hand, schaffen Sicherheit und man nutzt die Standards von WordPress, muss sich also nicht um Abhängigkeiten kümmern.

Zu folgenden vier Methoden sind im Anschluss Syntaxbeispiele hinterlegt.

  • insert($table, $data, $format) — insert a row into a table via arrays.
  • update($table, $data, $where, $format, $where_format) — update a row in a table via arrays.
  • get_var($query, $x, $y) — retrieve a single variable from the database.
  • query($query) — perform a MySQL database query with current connection
  • get_results($query, $output) — retrieve SQL result set from database… one or more rows.
  • escape($data) — Escapes content for insertion into the database using addslashes(), for security

Ebenso sind die kommenden Methoden interessant.

  • set_prefix($prefix) — used to set table prefix for WordPress tables, can be used to override prefix at any time
  • prepare($query) — safely prepares an SQL query for execution with sprintf()-like syntax.
  • get_row($query, $output, $y) — retrieve a single row from the database.
  • get_col($query, $x) — retrieve a single column from the database in array format.

/**
 * insert
 */
$wpdb->insert( $wpdb->posts, array( 'post_title' => $mytitle ) );

$wpdb->insert( $wpdb->options, array(
			'option_name',
			'new_option_key',
			'option_value' => 'New Option Value',
			'autoload' => 'yes' )
			);

/**
 * update
 */
$wpdb->update( $wpdb->posts, array( 'post_title' => $mytitle ),
			array( 'ID' => $myid )
			);

$wpdb->update( $wpdb->options,
			array( 'option_value' => 'New Option Value' ),
			array( 'option_name' => 'new_option_value' )
			);

/**
 * get_var
 */
$post_id = $wpdb->get_var(
			$wpdb->prepare( "SELECT post_id FROM
					$wpdb->postmeta WHERE
					post_id = %d AND
					meta_key = 'enclosure' AND
					meta_value LIKE (%s)", $post_ID, $url . '&' )
			);

$content = $wpdb->get_var(
			$wpdb->prepare("SELECT post_content FROM " .
					"$wpdb->posts WHERE " .
					"post_title = %s AND " .
					"ID = %d", $title, $id )
		);

/**
 * query
 */
$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name = '$name'" );

$wpdb->query( "UPDATE $wpdb->posts SET post_title = '$mytitle' WHERE ID = $myid" );

/**
 * query and escape
 */
$mytitle = $wpdb->escape( $mytitle );
$myid    = absint( $myid );
$wpdb->query( "UPDATE $wpdb->posts SET post_title = '$mytitle' WHERE ID = $myid" );

/**
 * get_results
 */
$type = $wpdb->get_results( "SELECT post_type FROM " .
				"$wpdb->posts WHERE ID=$id" );

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.