Warning: Invalid argument supplied for foreach() in /www/wwwroot/edu729/wp-content/plugins/learnpress/inc/class-lp-assets.php on line 180

WordPress 全局数据库变量/对象 wpdb 使用教程

WordPress 的数据库代码采用的是 ezSQL 数据库类,其对数据库的操控性可谓是手到擒来,实需要深度的二次开发,WordPress 的全局数据库$wpdb 变量就是重点了。

该$wpdb 对象不限于 WordPress 创建的默认表; 它可用于从 WordPress 数据库中的任何表中读取数据,所以深度二次开发时自定义创建的数据表也可以轻松操作。可以与任意数量的表进行通信,但一次只能与一个数据库通信, 默认情况下是 WordPress 数据库。

如果你是在 WordPress 的主题或者插件文件中想要使用 wpdb 函数,直接声明该全局变量即可使用,如果你是在根目录或者非 WordPress 环境下,也想要调用 WordPress 的核心数据库操作功能,那么如下你需要调用 WordPress 的根目录的 wp-blog-header.php 配置文件:

//根据自己实际情况设定调用目录

require_once(‘./wp-blog-header.php’);

global $wpdb;

// wpdb 插入数据
$wpdb->insert( $wpdb->prefix . 'fanly', array( 'name' => 'Fanly', 'url' => 'zhangzifan.com' ) );

// wpdb 删除数据
$wpdb->query( "DELETE FROM " . $wpdb->prefix . "fanly WHERE 'url' = 'zhangzifan.com'" );

// wpdb 修改数据
$wpdb->update( $wpdb->prefix . 'fanly', array( 'name' => 'Fanly', 'url' => 'zhangzifan.com' ), array( 'name' => '子凡' ) );

//wpdb 获取数据
$data = $wpdb->get_row( "SELECT * FROM ".$wpdb->prefix."fanly WHERE 'url'='zhangzifan.com'" );
echo $data->name;

其它的就不列举了,详细的可以去 WordPress 官方了解,当然你也可以直接了解 ezsql 的用法,详细你会爱上这个使用方法的。最提醒大家一句,在对 WordPress 做开发时,建议还是应该优先选用 WordPress 已经提供封装好的函数,尽可能的减少或者不适用数据库直接操作的方式来操作数据库数据。