array_unique只给我一个结果

时间:2012-12-25 03:26:36

标签: php mysql

我在这里有这个代码:

$bestffffs = $db->query("SELECT * FROM chapter WHERE ch_trans = '".$wordss."' ORDER BY ch_trans DESC ");
    while($ftffffs = $db->fetch_array($bestffffs))
    {
        $bestffffrs[] = $ftffffs;

    }
    $result = array_unique($bestffffrs);

MYSQL查询至少有45个结果!但是当我尝试使用array_unique()时,我的结果减少到一个!我在错误的地方使用代码吗?我尝试将它放在任何地方但没有任何效果

我不能在我的MYSQL查询中使用Group by,因为我想从表中的多个字段中删除重复项。分组依据仅删除我选择的字段的重复项。如果有其他灵魂使用MYSQL请在此处加入。

2 个答案:

答案 0 :(得分:3)

指定SORT_REGULAR作为第二个参数。

否则,它将它们作为字符串进行比较。任何数组都转换为文字字符串"Array",这当然意味着它们都是“相等的”。

答案 1 :(得分:1)

你可以尝试的一件事是DISTINCT。您可以将DISTINCT用于多个字段:

SELECT DISTINCT(one and two and three...and n) FROM `your_table`...

试一试。如果这不起作用,请尝试:

SELECT distinctrow field_one, distinctrow field_two, distinctrow field_three FROM `your_table`;