$this->wpdb->get_row("SELECT * FROM ".$this->wpdb->users." WHERE status = 'active'", ARRAY_A);
当有多个活动用户时,它会不断返回同一行。我想念什么吗?
#1 楼
实际上,仅在希望获得一个结果时才使用get_row()
,否则可以使用get_results()
#2 楼
有三种方法可以从数据库中提取数据。1。
$wpdb->get_var
:使用它从数据库表中获取单个值。就像您要计算评论总数一样。您可以按照以下方式进行操作:<?php
$comment_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->comments;"));
echo '<p>Total comments: ' . $comment_count . '</p>';
?>
2。
$wpdb->get_row
:要检索整个表行,可以使用它。示例:
<?php
$thepost = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = 1" ) );
echo $thepost->post_title;
?>
OR
<?php
$thepost = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = 1" ), ARRAY_A );
print_r ($thepost);
?>
通过在get_row中使用
ARRAY_A
参数,您的帖子数据将作为关联数组返回。或者,您可以使用ARRAY_N
参数以数字索引数组形式返回帖子数据。3。
$wpdb->get_results
:标准的SELECT
查询应使用get_results函数从数据库中检索多行数据。 br />评论
精彩的细节示例。
–pixelngrain
13年1月27日在17:31
当然!为什么不..
–pixelngrain
13年1月28日在16:45
真的是很好的例子。对于最后一个示例中的速度优化,我建议将以下内容更改为:($ allposts as $ singlepost)更改为:($ allposts as $ k => $ singlepost)
–Cyborg
20 Dec 30'2:39
#3 楼
$wpdb->get_row('query', output_type, row_offset);
行偏移量
(整数)所需的行(0为第一行)。默认为0.
va http://codex.wordpress.org/Class_Reference/wpdb
#4 楼
我的解决方案很简单..<?php
function count_results() {
# use the data base
global $wpdb;
# Query to count all results from one table
$sql_count_results = '
SELECT count(*) as count
FROM `YOUR_TABLE`;';
# Ejecute function
$results = $wpdb->get_row( $sql_count_results , OBJECT );
# Return results
return $results->count;
}
使用:
<?php
echo count_results();
评论
如果您除了发布代码之外还可以解释此代码的功能,那将是很好的。
–bravokeyl
16年11月16日在9:21
这将对表中的行进行计数,这不是对OP问题的答案。
– alexg
19年1月15日在22:02
评论
有关参考,请参阅developer.wordpress.org/reference/classes/wpdb/get_row和developer.wordpress.org/reference/classes/wpdb/get_results
–user51928
17年6月21日在22:54