wordpress的数据库采用了mysql数据库,同时wordpress也很好的封装了数据库的使用函数,从而让开发者们能很好的应用wordpress的数据库函数进行主题或者插件开发。
wordpress数据库的封装类位于 /wp-includes/wp-db.php,wp-db.php包含了数据库操作的具体说明,该类对象实例化的参数为$wpdb,我们可以在模板文件中直接使用,或者在function使用global来使其成为全局变量。
本文将列举几个常见的数据库操作函数:
应用实例:
1、插入数据
/**
* 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' )
);
2、更新数据
/**
* 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' )
);
3、查询指定单个字段数据
/**
* 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 )
);
4、执行sql语句,常用于删除与更新
/** * query */ $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name = '$name'" ); $wpdb->query( "UPDATE $wpdb->posts SET post_title = '$mytitle' WHERE ID = $myid" );
5、转义数据
/** * query and escape */ $mytitle = $wpdb->escape( $mytitle ); $myid = absint( $myid ); $wpdb->query( "UPDATE $wpdb->posts SET post_title = '$mytitle' WHERE ID = $myid" );
6、返回查询结果集
/**
* get_results
*/
$type = $wpdb->get_results( "SELECT post_type FROM " .
"$wpdb->posts WHERE ID=$id" );