Se que esto es antiguo, pero no encontré la explicación de este error, en mi caso el problema era dejar los valores en la BD con tilde (Ej:cafetería). var_dump ($ emparray) ciertamente muestra información, pero echo json_ecode ($ emparray) no muestra nada. ¿La solución?
Esta es mi conexión DB:
$connection = mysqli_connect('ip,'user','pass','dbname')
or die("Error " . mysqli_error($connection));
Solo necesita agregar el juego de caracteres correcto:
mysqli_set_charset( $connection, 'utf8');
Espera este trabajo para otros.