sql COUNT函数返回一个数组而不是mysqli对象?

问题描述:

我要计数在我的数据库中的一些行和我使用以下代码:sql COUNT函数返回一个数组而不是mysqli对象?

   $tagname = Person; 
       $query = "SELECT COUNT(thread_tag_map.tag_id) AS tagcount 
         FROM tags, thread_tag_map 
         WHERE thread_tag_map.tag_id = tags.id 
         AND tags.name = '$tagname'"; 

       $result = $this->do_query($query); 


       return $result; 

当我使用的print_r($结果)它显示一个关联数组阵列([tagcount] => 3)。

它不应该是一个mysqli对象,我必须使用mysqli_fetch_assoc解压缩?

有人能解释一下吗?

+0

你知道你正在使用$ this对象的do_query()方法,而我们对此一无所知吗?告诉我们什么框架/课程/ ......如果您希望我们帮助您,请告诉我们。 – Lepidosteus 2009-12-07 15:36:15

+0

如果这是mysqli为什么你的查询不使用准备好的语句?使用上面的代码,你的手腕应该被打上耳熟能详的SQL注入。 – Cruachan 2010-07-09 19:35:51

Count只返回一个数字,但是你正在执行一个sql select语句,这将返回类似于行集的东西,即一堆行(在你的情况1)和每列的元素(在你的情况1) 。

确切的细节取决于您正在使用的API的编程语言。

+0

我该如何编写代码才能返回nr?我想返回count_threads_map_tag_id – 2009-12-07 15:42:24

+0

重复行count原则上:取结果集的第一个元素,从关联数组中提取单个值。我不知道确切的语法,因为我甚至不知道你使用的语言。这将是一个很好的新问题 – 2009-12-08 08:45:00