Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2017, 06:08
Avatar de SirZoX
SirZoX
 
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 2
json_encode devuelve vacío desde una consulta odbc con datos

Buenos días/tardes.

Tengo el siguiente problema con el que llevo peleando dos días.
Iniciamos el script con una consulta SQL a través de ODBC y guardamos los resultados en un resultset. Hasta aquí bien porque un print_r de esa variable devuelve datos por pantalla.

En este punto es cuando hacemos un while a odbc_fetch_array (resultSet), y en cada iteración guardamos el resultado valor en una variable array llamada resultados[]. Pues al hacer el json enconde de esta variable, siempre devuelve vacío.

Apunto los códigos y sus resultados.
Generación del recordset:
Código PHP:
$resultados = array();

$resultSet odbc_exec$conn$consulta ) or die ("Error consulta: ".odbc_errormsg());

while ( 
$linea odbc_fetch_array($resultSet) ) {
  
$resultados[] = $linea;

A remarcar que si dentro del while, en vez de $resultados[] pongo $resultados, sin los corchetes, SI me genera un json con una única fila de los fetch array.

print_r($resultados):
Código PHP:
Array
(
    [
0] => Array
        (
            [
EPCAAA] => 2017
            
[EPCNPR] => 20464
        
)

    [
1] => Array
        (
            [
EPCAAA] => 2017
            
[EPCNPR] => 20466
        
)

    [
2] => Array
        (
            [
EPCAAA] => 2017
            
[EPCNPR] => 20467
        
)

Y luego ya simplemente intento mostrar el json por pantalla, aunque más adelante lo guardaré en un fichero en local
Código PHP:
$json json_encode($resultados);
echo 
"Json: <br>$json"