主页 > 后端 > wordpress教程 >
来源:自学PHP网 时间:2014-11-28 23:42 作者: 阅读:次
[导读] 一般情况下我们是不需要在wordpress模板中调用sql语句了,但我有一些很不一样的要求需要自己执行sql查询得出结果了,下面我来介绍在wordpress...
wordpress中直接使用sql查询方法介绍一般情况下我们是不需要在wordpress模板中调用sql语句了,但我有一些很不一样的要求需要自己执行sql查询得出结果了,下面我来介绍在wordpress中直接使用sql查询. 首先我要使用这个类下面的一些方法,不能直接调用,WordPress提供了这个类的全局变量叫$wpdb,通过这个全局变量来与WordPress数据库进行关联,所以我们在使用之前,需要先定义下这个全局变量,写法是:<?php global $wpdb; ?> 执行数据库查询:通过query函数在WordPress数据库中执行任何SQL查询,推荐使用SELECT查询,代码如下:<?php $wpdb->query('query'); ?> 删除ID为13的文章,代码如下: $wpdb->query("DELETE FROM $wpdb->posts WHERE post_id = '13' "); 选择一个变量:get_var函数返回一个来自数据库的变量,虽然只返回一个变量,如果没有查询结果,返回NULL,代码如下: <?php $wpdb->get_var('query',column_offset,row_offset); ?> query (字符串)你希望执行的查询,将该参数设为null会使函数返回上一个查询缓存结果中的具体变量. column_offset (整数)预计的数据库表的列数(0为表中第一列),默认值为0。 row_offset (整数)预计的数据库表的行数(0为表中第一行),默认值为0。 示例:检索并返回用户数量,代码如下:
选择表行:可使用get_row函数,该函数可将行作为对象、关联数组或数值索引数组返回,如果查询返回了多个行,函数只返回第一行. 代码如下:<?php $wpdb->get_row('query', output_type, row_offset); ?> query (字符串)你希望执行的查询语句。 output_type 三个预定义的常量之一。默认值为OBJECT。OBJECT —— 返回的结果以对象形式输出,ARRAY_A ——返回的结果以关联数组形式输出,ARRAY_N —— 返回的结果以数值索引数组形式输出 row_offset (整数)预计的数据库表的行数(0为表中第一行),默认值为0. 示例:获取ID为10的链接的所有信息,代码如下:
选择表列:要选择数据库表中的一列内容,可使用get_col函数,该函数输出一个空间数组,如果查询返回了多个列,代码如下: <?php $wpdb->get_col('query',column_offset); ?> query (字符串)你希望执行的查询,将该参数设为null会使函数返回上一个查询的缓存结果中的执行表列. column_offset (整数)预计的数据库表的列数(0为表中第一列),默认值为0. 示例:返回指定文章类型的ID号,代码如下:
选择生成的结果:get_results可以从数据库中抽取函数生成的多行结果。wpdb函数以数组形式返回整个查询结果,代码如下: <?php $wpdb->get_results('query', output_type); ?> query (字符串)你希望执行的查询语句,将该参数设为null会使函数返回上一个查询的缓存结果中的信息. output_type 三个预定义的常量之一,默认值为OBJECT。更多信息请见上文中的“选择表行”,OBJECT —— 以对象形式输出返回的结果,ARRAY_A ——以关联数组形式输出返回的结果,ARRAY_N —— 以数值索引数组形式输出返回的结果 示例:返回指定文章类型的所有文章内容,代码如下:
以上部分便是WordPress数据库接口的查询部分,通过上面提供的方法我们可以使用SQL语句来对数据库内容进行查询和获取内容,不过需要大家对SQL这方面熟悉. wordpress中常用sql语句 开启所有评论,代码如下:
关闭旧文章的留言,代码如下:
删除所有的垃圾评论,代码如下:
删除所有文章修订版本(Revisions)以及它们的Meta数据,代码如下:
清理wp_postmeta表,代码如下:
写成shell脚本,添加表优化,可以使用crontab定时调用处理. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com