2014-01-11 140 views
1

我有后续查询我正在MySQL数据库,对于一个WordPress网站:数据库查询到WordPress数据库返回的计数,而不是行

global $wpdb; 

/*get time slots*/ 
$query = " 
    SELECT DISTINCT routes.route_date, time_slots.name, time_slots.openings, time_slots.appointments 
    FROM routes 
    INNER JOIN time_slots ON routes.route_id = time_slots.route_id 
    WHERE route_date 
    BETWEEN 20140110 
    AND 20140227 
    ORDER BY route_date, name 
    "; 
$time_slots = $wpdb->query($query); 

然而$time_slots245。只是一个数字。我不知道为什么。当我在phpmyadmin中进行查询时,使用确切的查询,我得到了预期的结果。

我在做什么错在这里,我怎么能得到我期待的数组。

+0

请停止创建'[database-query]'。这完全没有必要。我们已经有标签来覆盖数据库查询的概念。你的问题已经有了这些标签。 – Charles

+1

没有意识到这是一笔交易。也许你可以给我发送你已经批准的标签清单。 – BlackHatSamurai

+0

重复标签*是一件大事!标签在这里帮助分类问题。如果人们从一组实际相同的标签中挑选出“错误”的标签,他们就有可能不会找到他们的问题。 – Charles

回答

1

用于所有记录

$time_slots = $wpdb->get_results($query); 

使用了抓取行

$time_slots = $wpdb->get_var($query); 
+0

'get_results'工作完美!感谢您的帮助。 – BlackHatSamurai

1

嗯,你是对的

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

$result将包含受影响的行数,而不是结果

为此代替:

  $result = $wpdb->get_results($query); 
+0

'$ wpdb'是访问Wordpress数据库的全局变量。它与受影响的行数无关。 – BlackHatSamurai

+0

现在编辑了一个小错误检查 – sanjeev

-1

功能wpse_footer_db_queries(){ 回波 '' .PHP_EOL; } add_action('wp_footer','wpse_footer_db_queries');