Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] php devuelve null en una request

Estas en el tema de php devuelve null en una request en el foro de PHP en Foros del Web. Supongo que no tiene nada que ver si lo hago con eclipse que si lo hago en un bloc de notas verdad?...

  #31 (permalink)  
Antiguo 12/08/2014, 07:08
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Supongo que no tiene nada que ver si lo hago con eclipse que si lo hago en un bloc de notas verdad?
  #32 (permalink)  
Antiguo 12/08/2014, 07:19
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Estoy segurísimo, he repetido la consulta mil veces por si me dejo algo, pero nada! Incluso he hecho copy paste porque trabajo con un macbook y un pc...pero en el analizados de consultas de sql me devuelve perfectamente los resultados de cualquier query que haya probado en el php!

He abierto el php con notepad y sale tal y como tu dices "Codificar en UTF-8 sin BOM"
  #33 (permalink)  
Antiguo 12/08/2014, 07:19
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 12 años, 2 meses
Puntos: 38
Respuesta: php devuelve null en una request

Cita:
Iniciado por bookmaster Ver Mensaje
¿Estás seguro que nomempresa esta bien escrito y que respetas las mayúsculas?

Mira que el formato del archivo sea el mismo. UTF-8 sin Bom, esto puedes mirarlo desde el Notepad++.
Exacto totalmente deacuerdo !! Yo en su día tuve algún problemilla..
  #34 (permalink)  
Antiguo 12/08/2014, 07:24
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

Es que si te devuelve varias veces el PRE (cosa que no debería de verse) quiere decir que el bucle te lo esta haciendo bien y que recibes datos, pero si tienes mal puesto el nombre o precisamente esa columna esta vacía, no te puede mostrar lo que contiene.

A ver pon esta línea al principio del archivo:
Código PHP:
Ver original
  1. ini_set("display_errors", 1);
Y mira a ver si te muestra algún error.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #35 (permalink)  
Antiguo 12/08/2014, 07:42
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Los nombres puedo asegurar que son correctos, y haciendo lo que me acabas de pasar...directamente no me devuelve nada ...cuando el parser hace reader.readline()...sale en blanco .
  #36 (permalink)  
Antiguo 12/08/2014, 07:48
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

A ver lo primero es ver si se reciben los datos desde la base, una vez que se sepa que están llegando bien , hay que empezar a procesarlos a tu antojo que ahí es donde entrara el parser, pero mientras no se consiga que se muestren los datos no podrás avanzar.

Y ahora mismo ya no se como se a quedado el código después de tantas pruebas, para empezar a ir descartando cosas.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #37 (permalink)  
Antiguo 12/08/2014, 07:54
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 12 años, 2 meses
Puntos: 38
Respuesta: php devuelve null en una request

Si que puede tener que ver, es lo que comentaba bookmaster , El charset de tu ide o bloc de notas debe ser el mismo que el de tu servidor... por ejemplo el bloc de notas de win te guarda en ansi por defect... y si no lo cambias pues sorpesa..da fallos !!!
A mi me pasó y me volví loco...
  #38 (permalink)  
Antiguo 12/08/2014, 08:00
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Pues nose porque pero me da a mi que va a ser algo de la codificación, o quizás sea casualidad pero lo dudo. Esto me ha empezado a pasar solo en este documento y justo cuando he empezado a hacerlo con el macbook, los demás que funcionan correctamente los he hecho en el bloc de notas de windows7.
  #39 (permalink)  
Antiguo 12/08/2014, 08:05
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

Haz una cosa para descartar que es la codificación.

Coje un archivo de los que te funciona y lo abres con el notepad++, y miras la codificación que tiene, después abres el archivo que no te funciona y le conviertes a la codificación del archivo que si te funciona, lo subes y pruebas a ver.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #40 (permalink)  
Antiguo 12/08/2014, 08:09
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Lo he mirado nada mas dudar..y sale la codificación utf8 sin BOM
  #41 (permalink)  
Antiguo 12/08/2014, 08:11
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 12 años, 2 meses
Puntos: 38
Respuesta: php devuelve null en una request

Mi consejo...Abre un documento vacío con tu editor ide que uses.. copia y pega el codigo y guardas cada uno de ellos como utf8..

O prueba a cambia Archivo > Guardar como y seleccioaa la codificación correcta del menú desplegable Codificación.

Sino recuerdo mal el bloc de notas agrega una firma (marca de orden de bytes) al comienzo del archivo antes de guardarlo como UTF-8...
  #42 (permalink)  
Antiguo 12/08/2014, 08:12
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

Bien si los 2 archivos son iguales en cuanto a codificación hay que empezar a ver el código y la estructura de la base de datos para ver si los nombres que estás usando son los mismos.
Se que suena a pesado que insista en este tema, pero es uno de los problemas mas comunes y en el que menos se suele caer cuando se programa, asique si puedes ponernos la estructura y lo que tienes actualmente de código podremos empezar a descartar mas cosas.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #43 (permalink)  
Antiguo 12/08/2014, 08:14
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Ahora probaré eso Djoaq.

Que os parece esto que he encontrado...parece que le pasaba lo mismo..

This what fixed it for me:

set ANSI_NULL_DFLT_ON ON

I had to query this first before calling any stored procedures

$result = mssql_query('set ANSI_NULL_DFLT_ON ON');
Hope that helps for anyone who had my problem. It was really frustrating, apparently you need this so PHP will return rows that have null columns in it and it has something to do with a compare inside the stored procedure. I believe it's when comparing something that might have a NULL value, PHP will ignore the entire row unless you pass this first.



¿Como debe quedar el código para probar lo que dice?
  #44 (permalink)  
Antiguo 12/08/2014, 08:19
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

Esa línea teóricamente tendrías que ponerla en el archivo de conexión después de mssql_connect, pero vamos que si otros te funcionan y este que estas tratando de hacer ahora no, en principio no es ese el fallo.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #45 (permalink)  
Antiguo 12/08/2014, 08:40
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Acabo de encontrar algo bastante sospechoso. Me he ido al servidor, y desde el terminal he ido a buscar los archivos para ver la codificación...y la codificación si que es la misma, pero los dos archivos creados desde el mac que he hecho y no funcionan me salen de color verde, es decir como archivos ejecutables, mientras los demás salen de color negro.

Así que ahora me pasaré un mail con el código y crearé un archivo con el bloc de notas de windows, y os digo a ver que tal.
  #46 (permalink)  
Antiguo 12/08/2014, 08:50
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Nada...he hecho lo dicho..pero estos dos siguen apareciendo de color verde...yo creo que la cosa tiene que ir por ahí
  #47 (permalink)  
Antiguo 12/08/2014, 08:53
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 12 años, 2 meses
Puntos: 38
Respuesta: php devuelve null en una request

Que so es?? En linux hay que ir dando permisos..
De todas maneras ... que ide utilizas en tu mac?
  #48 (permalink)  
Antiguo 12/08/2014, 09:02
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Ubuntu, juraria que los permisos son los mismos ya que he visto uno distinto y he puesto los mismos privilegios que a los demás php.

Utilizo eclipse luna, Version: Luna Release (4.4.0)
  #49 (permalink)  
Antiguo 12/08/2014, 09:06
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

Si te salen de diferente color comprueba lo siguiente.
- Tienen los mismos permisos. (644)
- Tienen la misma extensión. (.php)
- Tienen el mismo usuario. (Aquí el usuario que uses de ftp)
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #50 (permalink)  
Antiguo 12/08/2014, 09:30
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Ya he cambiado los permisos, y han cambiado de color, todo lo demás esta ok.
  #51 (permalink)  
Antiguo 12/08/2014, 09:36
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

¿Ya se reciben los datos o aún no? Porque si siguen sin recibirse, ya te puse lo que necesitaríamos para seguir descartando cosas.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #52 (permalink)  
Antiguo 12/08/2014, 09:48
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Aun no se reciben...ahi va una imagen de la tabla a la que estoy atacando con la query

Ver Imagen: http://s2.subirimagenes.com/imagen/previo/thump_9030956bdd.png
  #53 (permalink)  
Antiguo 12/08/2014, 09:52
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

Vale pues los nombres de los campos en la base de datos están en mayúsculas y tu los estás tratando de llamar en minúsculas desde PHP, por eso no te los coje.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #54 (permalink)  
Antiguo 12/08/2014, 09:53
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

No es eso porque no es key sensitive, sino no me lo cogería en los demás php
  #55 (permalink)  
Antiguo 12/08/2014, 10:05
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 9 meses
Puntos: 67
Respuesta: php devuelve null en una request

Pues que quieres que te diga, en los arrays asociativos (Lo que recibes con el mssql_fetch_array) el índice sí que te toma el valor tal cual viene dado, distinguiendo mayúsculas de minúsculas.

Sino prueba el siguiente ejemplo:
Código PHP:
Ver original
  1. $Prueba = array(
  2.         'Indice' => '1',
  3.         'indice' => '2'
  4.     );
  5.     echo $Prueba['indice'];
  6.    
  7.     $Prueba = array('Indice' => '1');
  8.     echo $Prueba['indice'];
Verás que el primero te muestra el valor 2, y el segundo echo te tirara error.

Otra cosa es que la conexión a la base de datos le de igual si lo pones en mayúsculas que en minúsculas (fallo de Microsoft como con los archivos).

Y si te fijas bien en el ejemplo que ponias que te funcionaba el select que te trae los datos los nombres de los campos los tienes en minúsculas también.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #56 (permalink)  
Antiguo 13/08/2014, 00:05
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Probaré con lo que dices, ojalá tengas razón. Podria ser que si la select la haces en mayúscula luego tengas que relojero en mayúsculas en el mismo php...pero de lo que estoy seguro es que la consulta la puedes hacer en mayúscula o minúscula y la pilla igual. Ahora os informo.
  #57 (permalink)  
Antiguo 13/08/2014, 00:26
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: php devuelve null en una request

En ascuas nos tienes...
__________________
>> Eleazan's Source
>> @Eleazan
  #58 (permalink)  
Antiguo 13/08/2014, 00:30
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

Geniaaaaall!!!!! Si haces la query el mayúscula debes recogerlo tal cual! Tienes toda la razón!! Te debo una muy muy gorda! A ver la primera query ya me devuelve valores....
Ahora queda la segunda que es la siguiente

"SELECT TOP 10 c.NORD, c.EST, c.NOMEMPRESA, c.CIUTAT, c.IDCLIENT, a.DESCRIPCIO FROM CANON.dbo.CLIENT c, CANON.dbo.ACTIVITAT a WHERE c.NORD <> -1.00000000 AND c.EST <> -1.00000000 AND c.ESCLIENT = 1 AND c.IDCLIENT <> '$id' and c.idactivitat = a.idactivitat") or die("ERROR AL EXECUTAR LA SEGONA QUERY");


Y los valores los recojo así:

while ($result2 = mssql_fetch_array($query2)) {

//Agafem les coordenades de l'empresa destí i les passem a radians
$lat = $result2["nord"] * (pi()/180);
$lon = $result2["est"] * (pi()/180);

//Evaluem si els valors es troben entre els maxims i els minims
if ($latitudMax >= $lat and $latitudMin <= $lat and $longitudMax >= $lon and $longitudMin <= $lon) {

//Declarem un array per ficar les dades d'una empresa
$empresa = array();

//Insertem les dades en l'array
$empresa["latitud"] = utf8_encode($result2["NORD"]);
$empresa["longitud"] = utf8_encode($result2["EST"]);
$empresa["nom"] = utf8_encode($result2["NOMEMPRESA"]);
$empresa["ciutat"] = utf8_encode($result2["CIUTAT"]);
$empresa["id"] = utf8_encode($result2["IDCLIENT"]);
$empresa["descripcio"] = utf8_encode($result2["DESCRIPCIO"]);

//Fiquem l'array empresa dintre del array d'empreses
array_push($response["empresa"], $empresa);
}
}


Me devuelve esto:

"empresa":[],"success":1


Osea que algo estoy haciendo mal..algún encode quizás?
  #59 (permalink)  
Antiguo 13/08/2014, 00:38
Avatar de adrirs11  
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Respuesta: php devuelve null en una request

NORD y EST son decimal
NOMEMPRESA, CIUTAT, DESCRIPCIO son varchar
IDCLIENT es integer

No me hacen falta los encode para los decimales y los integer, cierto?
  #60 (permalink)  
Antiguo 13/08/2014, 00:44
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: php devuelve null en una request

1)
Cita:
Iniciado por Eleazan Ver Mensaje
¿Y el array que te devuelve mssql_query tiene "ciutat" o "CIUTAT"?


2)
$lat y $lon los calculas mal, son NORD y EST ;)
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: devuelve, null, request, select, sql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:14.