I'm assuming this is a MySQL problem. But not sure.

I have a bit of code that queries, then echoes out the results. It seems like I'm doing this right, but for some reason, the ORDER BY 'score' portion starts falling apart. The highest match seems to be fine, but the matches lower down get jumbled up and out of order.

For example, with the code below, when I search for:
"Kohleria amabilis var. bogotensis"

I get results like this:

Kohleria amabilis var. bogotensis 99%
Kohleria amabilis 73%
Kohleria digitaliflora 50%
Kohleria inaequalis 60%
Kohleria inaequalis var. ocellata 67%
Schefflera bogotensis 58%

Nothing but the first and second one are in proper order.

Here's what I've got so far:

PHP Code:

$item 
'Kohleria  amabilis  var. bogotensis'

$data mysql_query("SELECT * , CONCAT( taxonomic_genus, ' ',  genus_hybrid_marker, ' ', scientific_name, ' ', infraspecific_rank, ' ', infraspecific_epithet) AS name_found,
MATCH (
taxonomic_genus, genus_hybrid_marker, scientific_name, infraspecific_rank, infraspecific_epithet
)
AGAINST (
'firstname middlename lastname suffix'
) AS score
FROM mytable
WHERE MATCH (
taxonomic_genus, genus_hybrid_marker, scientific_name, infraspecific_rank, infraspecific_epithet
)
AGAINST (
'%$item%'
)
ORDER BY score DESC
LIMIT 200"
);



while(
$row mysql_fetch_array($data)){

$var_2 $row['score'];
$var_1 $row['name_found'];
    
similar_text($item$var_1$percent);

$percent round($percent);

$percent_friendly round(number_format$percent 100 )) . '%';    
    
echo 
'<a class="result_list" href="view.php?id=' $row['plant_name'] . '">VIEW</a></td>' $row['taxonomic_genus'] . '&nbsp;
$row['species_hybrid_marker'] . '&nbsp;' $row['scientific_name'] . '&nbsp;<font color=#999999>' $row['genus_hybrid_marker'] . '
&nbsp;' 
$row['infraspecific_rank'] . '&nbsp;' $row['infraspecific_epithet'] .  '</font>
.stripslashes($row['common_name_english']) . '
&nbsp;'
.$percent.'% &nbsp;'