I doubt echo is the problem, I would lean more towards whether the var is set or unset
how is the value of $row being set? are you using both of those in the exact same spot in the code? if not what is happening to $row between one and the other?
If you just wanted to double check the echo, you could always make it <?php echo 'City: '.$row[city]; ?>. That way you'd know the echo is working but the variable is empty.