Für Menschen · Seien Sie begeistert und Sie werden begeistern !
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 connectionget_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 securityEbenso sind die kommenden Methoden interessant.
set_prefix($prefix) — used to set table prefix for WordPress tables, can be used to override prefix at any timeprepare($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" );
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 854 Beiträge, 15036 Kommentare in 14 Kategorien und 450 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet.
Design und Code ist unter Copyright
© 2001 - 2010 bueltge.de [by:ltge.de]
Überlastung, Kommentare sind vorübergehend geschlossen
Ich bin urlaubsreif, ersticke in Arbeit und damit auch für die Leser des Weblogs nicht zu erreichen. Bitte geduldet euch ein wenig mit Supportanfragen.
Leider muss ich die Kommentarfunktion deaktivieren, ansonsten würde ich weiter in Arbeit ersticken oder die Anfragen nicht nach bestem Gewissen beantworten.
Vielen Dank für das Verständnis!