学过PHP的都知道,要想让php操作mysql数据库,可以通过mysql或mysqli类来实现操作数据库。在wordpress主题开发时,虽然也是PHP程序,但是不建议直接使用这样的方式去操作wordpress数据库了。wordpress为我们提供了一个操作数据库的类——wpdb,wpdb类定义了一个全局变量——$wpdb,所以我们可以直接调用该全局变量$wpdb的实例来操作数据库。
首先我们要引入这个全局变量:
global $wpdb;
1、使用insert()方法添加数据
$wpdb->insert( $wpdb->prefix . ‘xs’, array( ‘xm’ => ‘大江网络’, ‘xb’ => ‘男’, ‘xq’ => ‘wordpress’ ) );
2、更新数据——update()方法
$wpdb->update( $wpdb->prefix . ‘xs’, array( ‘xb’ => ‘男’, ‘xq’ => ‘wordpress’ ), array( ‘xq’ => ‘打豆豆’ ) );
3、获取数据——get_var()
get_var()函数返回一个来自数据库的变量。虽然只返回一个变量,但查询结果会被整体缓存,供后期使用。如果没有查询结果,返回NULL。
$xm = $wpdb->get_var( ‘SELECT * FROM `’ . $wpdb->prefix . ‘xs`’ , 3 , 2 );
参数说明:
参数1:sql查询语句。
参数2:(整数)预计的数据库表的列数(0为表中第一列)。默认值为0。
参数3:(整数)预计的数据库表的行数(0为表中第一行)。默认值为0。
4、使用query()方法删除数据
$wpdb->query( “DELETE FROM `” . $wpdb->prefix . “xs` WHERE `xq` = ‘wordpress'” );
$row_count = $wpdb->get_var( ‘SELECT ROW_COUNT()’ );
echo $row_count;
$wpdb->show_errors();
5、获取数据——get_results()方法:
get_results()方法可以从数据库中抽取函数生成的多行结果。Wpdb函数以数组形式返回整个查询结果。
$rows = $wpdb->get_results( “SELECTa * FROM `” . $wpdb->prefix . “xs`” , ARRAY_A );
第二个参数可选,其值如下:
OBJECT —— 以对象形式输出返回的结果
ARRAY_A ——以关联数组形式
ARRAY_N —— 以数值索引数组形式
6、get_row()获取数据
get_row()方法可以用来从数据库中查询出一整行数据。
$row = $wpdb->get_row( “SELECTa * FROM `” . $wpdb->prefix . “xs`” , ARRAY_A , 1 );
参数2和参数3为可选。参数2跟get_results()方法一样,参数3是预计数据库要查询的行数(默认为0)。
7、学会使用show_errors()、print_error()、hide_errors()、last_error调试SQL
$wpdb->print_error();