Oh, argh!!!
I missed this one: you're using mysql_fetch_array(), and that fetches both the normal array and the associative array, so you get every field twice, once at index 0,1,2,3... and once at the index of the column-name.
Try printing the $col_name, you'll see what I mean.
Try using mysql_fetch_row or mysql_fetch_assoc() instead, that will return either the normal array or the assoc array, but not both.