WordPress 中 wpdb 查询结果格式学习

追格官方小助手/ 2023年02月23日/ WordPress/ 浏览 1392

wpdb 是 WordPress 中关于数据库的封装,在开发中使用比较频繁,get_results、get_row 等函数,都是非常熟悉的。


不过,关于 wpdb 的一个小细节,却经常浪费时间。那就是查询结果的格式,这次再学习一下,争取记住。


wpdb 查询结果的格式,可以由参数 output_type 指定,可以接收:OBJECT、ARRAY_A,ARRAY_N 三个常量,默认为 OBJECT


下面以 wp_links 表为例,表中有如下数据:



当 output_type 为 默认值-OBJECT 时:


$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10" );


上面例子中,mylink 是一个OBJECT,即


echo $mylink->link_id; // prints "10" 
echo $mylink->link_url: // prints "https://www.zhuige.com/"
echo $mulink->link_name; // prints "追格"




如果,传入 ARRAY_A,$mylink 就是一个关联数组


$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A );


应按下面的方式,访问 $mylink


echo $mylink['link_id']; // prints "10"
echo $mylink['link_url']; // prints "https://www.zhuige.com/"
echo $mylink['link_name']; // prints "追格"




如果传入 ARRAY_N,输出结果就是一个数字索引的数组


$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N );


应按下面的方式,访问 $mylink


echo $mylink[1]; // prints "10"
echo $mylink[2]; // prints "https://www.zhuige.com/"
echo $mylink[3]; // prints "追格"


发表评论

暂无评论,抢个沙发...

客服 工单