WordPress:wpdb类、$wpdb变量以及数据库操作函数

WordPress为用户提供了一个数据库操作的类——wpdb,该类包含了一系列具体的数据库操作函数(insert, update, query, …),这使我们可以非常便捷地操作WordPress数据库(创建表,查询,删除,更新等),它是基于ezSQL(由Justin Vincent维护的数据库操作项目)编写而成。

但是,我们不能直接调用wpdb类中的方法,WordPress为我们定义了一个全局变量$wpdb来访问WordPress数据库,该全局变量就是wpdb类的一个实例,我们就通过$wpdb这个全局变量,来调用wpdb类中的方法,实现对WordPress数据库的各种操作。(注意:在自定义函数中使用$wpdb之前,必须先全局化$wpdb。)

$wpdb对象可以用来操作WordPress数据库中的每一个表,不仅仅是WordPress自动创建的基本表。例如,你有一个自定义的表叫做mytable,那么可以使用如下语句来查询:

$myrows = $wpdb->get_results(“SELECT id, name FROM mytable”);
插入数据时,可以使用insert()函数。例如:

$table = "test_table";
$data_array = array(
        'column_1' => 'data1',
        'column_2' => 'data2'
);
$wpdb->insert($table, $data_array);

更新数据时,可以使用update()函数。例如:

$table = "test_table";
$data_array = array(
        'column_1' => 'new_data1'
);
$where_clause = array(
        'column_2' => 'data2'
);
$wpdb->update($table, $data_array, $where_clause);

读取数据时,有很多种方法,其中一种如下:

$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++;
}

关于WordPress数据库操作函数的索引:

$wpdb->query('query');

$wpdb->get_var('query', column_offset, row_offset);

$wpdb->get_row('query', output_type, row_offset);

$wpdb->get_col('query', column_offset);

$wpdb->get_results('query', output_type);

$wpdb->insert($table, $data, $format);

$wpdb->update($table, $data, $where, $format = null, $where_format = null);

$wpdb->prepare('query' [, value_parameter, value_parameter ... ]);

$wpdb->show_errors();

$wpdb->hide_errors();

$wpdb->print_error();

$wpdb->get_col_info('type', offset);

$wpdb->flush();

参考手册:http://codex.wordpress.org/Class_Reference/wpdb

发表评论

邮箱地址不会被公开。 必填项已用*标注