最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
wordpress中直接使用sql查询方法介绍
时间:2022-06-25 19:06:46 编辑:袖梨 来源:一聚教程网
首先我要使用这个类下面的一些方法,不能直接调用。WordPress提供了这个类的全局变量叫$wpdb,通过这个全局变量来与WordPress数据库进行关联,所以我们在使用之前,需要先定义下这个全局变量,写法是
代码如下 | 复制代码 |
|
执行数据库查询
通过query函数在WordPress数据库中执行任何SQL查询。推荐使用SELECT查询。
代码如下 | 复制代码 |
query('query'); ?> |
删除ID为13的文章
代码如下 | 复制代码 |
|
选择一个变量
get_var函数返回一个来自数据库的变量。虽然只返回一个变量,如果没有查询结果,返回NULL。
代码如下 | 复制代码 |
|
query
(字符串)你希望执行的查询。将该参数设为null会使函数返回上一个查询缓存结果中的具体变量。
column_offset
(整数)预计的数据库表的列数(0为表中第一列)。默认值为0。
row_offset
(整数)预计的数据库表的行数(0为表中第一行)。默认值为0。
示例
检索并返回用户数量
代码如下 | 复制代码 |
$user_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->users;")); echo ' 用户一共有 ' . $user_count . '人 ';?> |
选择表行
可使用get_row函数。该函数可将行作为对象、关联数组或数值索引数组返回。如果查询返回了多个行,函数只返回第一行。
代码如下 | 复制代码 |
get_row('query', output_type, row_offset); ?> |
query
(字符串)你希望执行的查询语句。
output_type
三个预定义的常量之一。默认值为OBJECT。OBJECT —— 返回的结果以对象形式输出,ARRAY_A ——返回的结果以关联数组形式输出,ARRAY_N —— 返回的结果以数值索引数组形式输出
row_offset
(整数)预计的数据库表的行数(0为表中第一行)。默认值为0。
示例
获取ID为10的链接的所有信息。
代码如下 | 复制代码 |
$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10"); //$mylink对象的属性即SQL查询结果的行名称(即$wpdb->links表中的所有行)。 echo $mylink->link_id; // prints "10" //使用ARRAY_A $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A); //则会生成一个关联数组: echo $mylink['link_id']; // prints "10" //使用ARRAY_N $mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N); //则会生成一个数值索引数组: echo $mylink[1]; // prints "10" ?> |
选择表列
要选择数据库表中的一列内容,可使用get_col函数。该函数输出一个空间数组,如果查询返回了多个列。
代码如下 | 复制代码 |
|
query
(字符串)你希望执行的查询。将该参数设为null会使函数返回上一个查询的缓存结果中的执行表列。
column_offset
(整数)预计的数据库表的列数(0为表中第一列)。默认值为0。
示例
返回指定文章类型的ID号
代码如下 | 复制代码 |
$resaults = $wpdb->get_col("SELECT * FROM $wpdb->posts WHERE post_type = 'question'"); print_r($resaults); ?> |
选择生成的结果
get_results可以从数据库中抽取函数生成的多行结果。wpdb函数以数组形式返回整个查询结果。
代码如下 | 复制代码 |
|
query
(字符串)你希望执行的查询语句。将该参数设为null会使函数返回上一个查询的缓存结果中的信息。
output_type
三个预定义的常量之一。默认值为OBJECT。更多信息请见上文中的“选择表行”。OBJECT —— 以对象形式输出返回的结果,ARRAY_A ——以关联数组形式输出返回的结果,ARRAY_N —— 以数值索引数组形式输出返回的结果
示例
返回指定文章类型的所有文章内容
代码如下 | 复制代码 |
$resaults = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'question'"); print_r($resaults); ?> |
以上部分便是WordPress数据库接口的查询部分,通过上面提供的方法我们可以使用SQL语句来对数据库内容进行查询和获取内容,不过需要大家对SQL这方面熟悉。
wordpress中常用sql语句
开启所有评论
代码如下 | 复制代码 |
UPDATE wp_posts SET comment_status = ‘open’ WHERE post_status = ‘publish’; |
关闭旧文章的留言
代码如下 | 复制代码 |
UPDATE wp_posts SET comment_status = ‘closed’ WHERE post_date < '2009-01-01' AND post_status = 'publish' |
删除所有的垃圾评论
代码如下 | 复制代码 |
DELETE FROM wp_comments WHERE comment_approved = ‘spam’ |
删除所有文章修订版本(Revisions)以及它们的Meta数据
代码如下 | 复制代码 |
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision’ |
清理wp_postmeta表
代码如下 | 复制代码 |
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_old_slug’; DELETE FROM wp_postmeta WHERE meta_key = ‘_revision-control’; DELETE FROM wp_postmeta WHERE meta_value = ‘{{unknown}}’; |
写成shell脚本,添加表优化,可以使用crontab定时调用处理
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22