2009-12-07 205 views
0

我要計數在我的數據庫中的一些行和我使用以下代碼: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

回答

0

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

相關問題