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();