一、获取单一数据,在一般 sql 语句就只返回一个数值时使用。
$var = $wpdb -> get_var("查询条件");
例如:
$var = $wpdb -> get_var("SELECT count(*) FROM `user`");
这个函数直接返回行数值,可以直接使用。
注:其实 get_var 并不是仅仅只能用于就返回一个数值的 sql 语句,而是他默认只返回第一行特别左边的元素。如果希望他返回其他元素,可以使用 get_var(“查询条件”, x, y) 来实现。
二、获取一行数据,在一般 sql 语句就只返回特定对象时使用。
$sql = $wpdb -> get_row("查询条件", output_type);
例如:
$var = $wpdb -> get_row("SELECT * FROM `user` WHERE `userid` = 1", ARRAY_A);
只返回一行数据,取第一个满足条件的数据。
output_type:三个预定义的常量之一。默认值为 OBJECT。
OBJECT —— 返回的结果以对象形式输出
ARRAY_A ——返回的结果以关联数组形式输出
ARRAY_N —— 返回的结果以数值索引数组形式输出
我通常使用 OBJECT 或是 ARRAY_A,访问方式分别为 $var -> username(output_type 为 OBJECT 时) 或是 $var[“username”](output_type 为 ARRAY_A 时)
注:其实 get_row 并不是仅仅只能用于就返回一行的 sql 语句,而是他默认只返回第一行的集合。如果希望他返回其他行,可以使用 get_row(“query”, output_type, y) 来实现。
三、获取一列数据,在一般 sql 语句就只返回特定属性时使用。
$sql = $wpdb -> get_col("查询条件");
例如:
$var = $wpdb -> get_col("SELECT `meta_value` FROM `wp_postmeta` WHERE `meta_key` ='pingji'");
可以得到所有满足条件的多行数据,但只是某一个特定的值。
返回的结果以数值索引数组形式输出,一般通过 foreach 函数分离,或是直接使用 $var[1] 这样的方式获取。
注:其实 get_col 并不是仅仅只能用于就返回一列的 sql 语句,而是他默认只返回第一列的集合。如果希望他返回其他列,可以使用 get_col(“查询条件”, x) 来实现。
四、获取多列数据,在一般 sql 语句就只返回特定属性时使用。
$sql = $wpdb -> get_results("查询条件", output_type);
例如:
$vars = $wpdb -> get_results("SELECT * FROM `user`, ARRAY_A);
返回的结果以数值索引数组形式包其他形式输出,一般通过 foreach 函数分离,或是直接使用 $var[1] 这样的方式获取。获取的对象受第二个参数控制。
output_type:三个预定义的常量之一。默认值为 OBJECT。
OBJECT —— 返回的结果以对象形式输出
ARRAY_A ——返回的结果以关联数组形式输出
ARRAY_N —— 返回的结果以数值索引数组形式输出
我通常使用 OBJECT 或是 ARRAY_A,访问方式分别为 $var -> username(output_type 为 OBJECT 时) 或是 $var[“username”](output_type 为 ARRAY_A 时)。
例如:
foreach($vars as $var) {echo $var["username"];//output_type 是 ARRAY_A 时
}
实际应用
<?php $vars = $wpdb -> get_results("SELECT * FROM `wp_banquan` WHERE email LIKE'%@%'AND mobanurl LIKE'%http%'AND mobanurl NOT LIKE'%undefined%'order by ID desc limit 0,50", ARRAY_A);?>
<ul class="infoList">
<?php
foreach($vars as $var) {?>
<li> 用户 <span><?php echo $var["email"];?></span> 购买 <?php echo $var["mobanurl"];?></li>
<?php } ?>
</ul>