Całe twoje podejście jest złe, nie powinieneś próbować tworzyć JSON ręcznie. Umieść wszystkie wiersze w tablicy i pozwól json_encode()
zrób to wszystko za Ciebie.
$result = array();
while ($r = mysql_fetch_assoc($sth)) {
$result[] = $r;
}
echo json_encode($result);