wp_db这个类主要是用来操作数据库
方法所在文件:wp-includes/wp-db.php
请不要直接调用wpdb类中的方法。WordPress定义了$wpdb的全局变量,所以请直接调用该全局变量$wpdb的实例来操作数据库。(调用之前不要忘了声明引用全局变量$wpdb。参考globalize)
声明$wpdb:<?php global $wpdb ?>
$wpdb对象可以用来操作WordPress数据库中的每一个表,不仅仅是WordPress自动创建的基本表。例如,你有一个自定义的表叫做mytable,那么可以使用如下语句来查询:
$myrows = $wpdb->get_results( “SELECT id, name FROM mytable” );
$wpdb对象可以读取多个表,但是其只针对WordPress的数据库。如果你需要连接其他数据库,那么你应该使用你自己的数据库连接信息,并调用wpdb类来创建一个你自己的数据库操作实例。如果你有多个数据库需要连接,那么你可以考虑使用hyperdb来替代$wpdb。
- 学会使用insert()方法向数据库中添加数据。
1.1insert($table,$data,$format);
向数据库中插入一条数据。
第一个参数:表的名称。
第二个参数:插入的数据。
第三个参数:插入的数据的格式。
参考例子:
<?php $wpdb->insert('table',array('column1' => 'value1','column2' => 123),array('%s','%d')) ?>
1.2 学会使用insert_id获取自动增长ID。
`$wpdb->insert_id`获取自动增长的ID。
可以通过`echo`显示到前端页面。
1.3 学会使用prefix。
`$wpdb->prefix;`这个就是数据表的前缀,默认的前缀为`wp_`。
可以通过`echo`显示到前端页面。
每一个wordpress系统的数据表前缀都有可能不同,所以可以通过这个方法来获取不同的前缀。
- 学会使用update()方法更新数据库中的数据。
更新ID为1的行,第一列的值为字符串,第二列的值为数组:
$wpdb->update( 'table', array( 'column1' => 'value1', 'column2' => 'value2' ), array( 'ID' => 1 ), array( '%s', '%d' ), array( '%d' ) )
- 学会使用get_var()获取数据库中的数据
<?php $wpdb->get_var('query',column_offset,row_offset); ?>
第一个参数:查询语句。
第二个参数:列的偏移量。
第三个参数:行的偏移量。
<?php $xm = $wpdb->get_var("select 'xm' from $wpdb->prefix.'xs'where 'id' = 1"); ?>
这是查询的id为1的哪一行,列名为xm的数据
<?php $xm = $wpdb->get_var("select * from $wpdb->prefix.'xs'where 'id' = 1"); ?>
这是默认的返回的是这一行的第一列的数据,可以通过列的偏移量来控制显示哪一列的数据。直接在参数位置填写0-++。
扩展方法:返回上一条sql语句影响的行数。
<?php
$row_count = $wpdb->get_var('select row_count()');
echo $row_count;
?>
- 学会使用query()方法删除数据库中的数据
<?php $wpdb->query('query'); ?>
参数即为sql的查询语句。
- 学会使用get_results()获取数据库中的数据
<?php $wpdb->get_results('query',output_type); ?>
第一个参数:查询的语句。
第二个参数:返回数据类型。ARRAY_A为数组的方式返回,默认返回时类。
- 学会使用get_row()获取数据库中的数据(获取一行)
<?php $wpdb->row('query',output_type,row_offset); ?>
- 显示和隐藏sql错误信息。
You can turn error echoing on and off with the show_errors and hide_errors, respectively.
需要在执行之前就声明这个方法,最好在声明$wpdb后就声明。
<?php $wpdb->show_errors(); ?>
<?php $wpdb->hide_errors(); ?>
如果在之前没有声明$wpdb->show_errors();
也可以通过声明$wpdb->last_error;
来显示最后的sql语句错误。
You can also print the error (if any) generated by the most recent query with print_error.
<?php $wpdb->print_error(); ?>