WordPress数据库接口分析之查询部分

一月 05
磊子 2012年 暂无评论

今天为大家讲讲WordPress数据库接口的使用方法和说明,当我们有的时候实在找不到WordPress函数来解决问题时,首先想到的便是使用数据库语句来解决,而且有的时候使用SQL语句要比使用函数方便的多,当然了你得熟悉和了解如何写SQL语句。WordPress为我们提供了一个数据库类叫wpdb,通过使用这个类来进行一些相关操作。接下来我们就说下这个类的使用方法。

首先我要使用这个类下面的一些方法,不能直接调用。WordPress提供了这个类的全局变量叫$wpdb,通过这个全局变量来与WordPress数据库进行关联,所以我们在使用之前,需要先定义下这个全局变量,写法是

<?php  global $wpdb;  ?>

1.执行数据库查询

通过query函数在WordPress数据库中执行任何SQL查询。推荐使用SELECT查询。

<?php $wpdb->query('query'); ?>

示例

删除ID为13的文章

$wpdb->query("DELETE FROM $wpdb->posts WHERE post_id = '13' ");

2.选择一个变量

get_var函数返回一个来自数据库的变量。虽然只返回一个变量,如果没有查询结果,返回NULL。

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

query

(字符串)你希望执行的查询。将该参数设为null会使函数返回上一个查询缓存结果中的具体变量。

column_offset

(整数)预计的数据库表的列数(0为表中第一列)。默认值为0。

row_offset

(整数)预计的数据库表的行数(0为表中第一行)。默认值为0。

示例

检索并返回用户数量

<?php

$user_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->users;"));

echo '<p>用户一共有 ' . $user_count . '人</p>';

?>

3.选择表行

可使用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的链接的所有信息。

<?php 

$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"  

?>

4.选择表列

要选择数据库表中的一列内容,可使用get_col函数。该函数输出一个空间数组,如果查询返回了多个列。

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

query

(字符串)你希望执行的查询。将该参数设为null会使函数返回上一个查询的缓存结果中的执行表列。

column_offset

(整数)预计的数据库表的列数(0为表中第一列)。默认值为0。

示例

返回指定文章类型的ID号

<?php

$resaults = $wpdb->get_col("SELECT * FROM $wpdb->posts WHERE post_type = 'question'");	

print_r($resaults);

?>

5.选择生成的结果

get_results可以从数据库中抽取函数生成的多行结果。wpdb函数以数组形式返回整个查询结果。

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

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数据库接口分析之增删改部分,望大家多多关注!

» 版权所有©转载必须以链接形式注明作者和原始出处:磊子的博客 » WordPress数据库接口分析之查询部分
» 地址:( Ctrl+C 复制 )
» 如果对本站感兴趣,请到网站右下方订阅本站,将为你带来更多精彩和实用的文章
» 如果您对这篇文章感兴趣,不妨小小的 捐助(Donate)一下博主吧,不管多少都是对博主最大的支持和鼓励哟,博主-磊子感谢大家的支持!!!

说点什么吧




wireless earbuds moscow mule mugs bluetooth speakers waterproof camera best wireless earbuds best vacuum cleaner best drugstore foundation best dishwasher best waist trainer wireless headphones best vacuum 0594918 best bluetooth earbuds waterproof bluetooth speaker tattoo cover up action camera
订阅本站