Удаление последней запятой внутри цикла while – PHP

Я создаю небольшой инструмент для управления набором данных, я пытаюсь создать вывод JSON, чтобы обслуживать мои интерфейсные данные.

Прямо сейчас у меня есть дополнительная запятая в конце каждой строки цикла. Мне нужно удалить его, было бы идеально, если бы я мог найти способ сделать это внутри цикла while.

Вот мой код:

$sth = mysql_query("SELECT * FROM mapdata"); $num_rows = mysql_num_rows($sth); $counter = 0; echo '['; while($r = mysql_fetch_assoc($sth)) { if (++$counter == $num_rows) { echo json_encode($r) . ''; } else { echo json_encode($r) . ','; } } echo "]"; mysql_close($connection); 

Это то, что я получаю сейчас

 [ {"col1":"123","col2":"456","col3":"789",}, {"col1":"123","col2":"456","col3":"789",} ] 

Это то, что мне нужно.

 [ {"col1":"data1","col2":"data2","col3":"data3"}, {"col1":"data1","col2":"data2","col3":"data3"} ] 

Любые предложения будут ценны.