WordPress通过$wpdb对象操作数据库详解

如果我们在WordPress网站上新增一个数据表,在取操作该表时如果按照上面的步骤来是完全没问题的,就是复杂了点,WordPress给我们提供了一个全局对象$wpdb,它是封装好的数据库操作类,通过它我们可以省去连接数据库的步骤(连接使用的是WordPress配置中的数据库),直接进行查询操作。使用时需要在你的文件中引用WordPress核心文件,wp-load.php或者wp-blog-header.php。这两个文件的关系大家自己查资料,水煮鱼有相关讲解。引用了其中一个文件就可以使用WordPress的全部函数了。

要使用$wpdb对象进行数据库查询时,需要先拿到全局变量。在你需要查询的地方使用如下声明即可:

global $wpdb;

插入一条数据insert()函数:

$table = "test_table"; 
$data_array = array( 
'字段名1' => 'data1′, 
'字段名2' => 'data2′ 
); 
$wpdb->insert($table,$data_array);

应该很好理解,我都用汉字了,相信凭借大家的智商应该不难。insert函数有三个参数,一般不用第三个。第一个是操作的表名称,第二个参数是一个数组,我写这么直观不用解释了吧。

更新数据update()函数:

$table = "test_table"; 
//更新内容
$data_array = array( 
'欲更新的字段名′ => 'new_data1′ 
); 
//查找条件
$where_clause = array( 
'查找条件的字段名′ => 'data2′ 
); 
$wpdb->update($table,$data_array,$where_clause);

与insert函数类似,update函数有三个参数,第一个是操作的数据表名称,第二个是更新的内容,仍然是数组的形式,第三个是查找的条件,照样是数组。

其实用得最多的应该是取数据get_results函数:

$querystr = "SELECT column_1 FROM test_table"; //查询语句
$results = $wpdb->get_results($querystr); //执行查询操作并得到返回值
$i=0; 
while ($i< count($results)){ //遍历返回内容
echo $results[$i]->column_1."<br />"; //输出返回内容
$i++; 
}

也可以使用$wpdb对象的query方法来替代上面的所有方法,如下:

<?php $wpdb->query("DELETE FROM $wpdb->post WHERE post_id = ’13′ “); ?>

这样就和mysqli一样的使用了。