Hola,
Una consulta, porque no guardas los datos en un array y ocupas la funcion "json_encode", la cual hace lo mismo que su nombre, convierte tu array en un JSON valido.
Y bueno, no conosco el dataTable, asi que no sabria decirte si esta bien o mal, pero puedes ver la respuesta que te da ahora tu consulta en JSON y validar si esta correcto o no
http://jsonlint.com/
Saludos