Porque esta consulta, me devuelve valores null ??? [SOLUCIONADO]

Iniciado por Razzari, 24 Febrero 2017, 01:29 AM

0 Miembros y 1 Visitante están viendo este tema.

Razzari

Hola como estan, el caso es el siguiente :

tengo esta base de datos :




Y tengo el siguiente script php :

<?php 
$con=mysql_connect('server','usuario','contraseña');
$db=mysql_select_db('basededatos',$con);
$sql"SELECT * FROM tBares";
$resultado mysql_query($sql);



$datos= array();

while ($obj mysql_fetch_object($resultado)) {
$datos[] = array(          'idBar' => $obj->idBar,
   'nombreBar' => $obj->nombreBar,
   'direccionBar' => $obj->direccionBar,
   'latiBar' => $obj->latiBar,
   'longBar' => $obj->longBar,
   'idZona' => $obj->idZona,
   'fotoBar' => $obj->fotoBar
);
}

echo '' json_encode($datos) . '';


//Se declara que esta es una aplicacion que genera un JSON
header('Content-type: application/json');
//Se abre el acceso a las conexiones que requieran de esta aplicacion
header("Access-Control-Allow-Origin: *");


?>



y me devuelve este JSON :

[
     {
     "idBar": "1",
     "nombreBar": "Mi bar de  1",
     "direccionBar": "mi direccion de  1",
     "latiBar": "-1",
     "longBar": "+ 1",
     "idZona": "1",
     "fotoBar": "/1.jpg"
  },
  {
     "idBar": "2",
     "nombreBar": "Mi bar de  1",
     "direccionBar": "mi direccion de  1",
     "latiBar": "-1",
     "longBar": "+ 1",
     "idZona": "2",
     "fotoBar": "/1.jpg"
  },
  {
     "idBar": "3",
     "nombreBar": "Mi bar de 2",
     "direccionBar": "mi direccion de  2",
     "latiBar": "-2",
     "longBar": "+ 2",
     "idZona": "2",
     "fotoBar": "/2.jpg"
  },
  {
     "idBar": "4",
     "nombreBar": "Mi bar de  2",
     "direccionBar": "mi direccion de  2",
     "latiBar": "-2",
     "longBar": "+ 2",
     "idZona": "1",
     "fotoBar": "/2.jpg"
  },
  {
     "idBar": "5",
     "nombreBar": null,
     "direccionBar": null,
     "latiBar": null,
     "longBar": null,
     "idZona": "3",
     "fotoBar": null
  },
  {
     "idBar": "6",
     "nombreBar": "Mi bar de  3",
     "direccionBar": "mi direccion de  3",
     "latiBar": "-3",
     "longBar": "+3",
     "idZona": "1",
     "fotoBar": "/3.jpg"
  },
  {
     "idBar": "7",
     "nombreBar": null,
     "direccionBar": null,
     "latiBar": null,
     "longBar": null,
     "idZona": "3",
     "fotoBar": null
  },
  {
     "idBar": "8",
     "nombreBar": "Mi bar de 3",
     "direccionBar": "mi direccion de  3",
     "latiBar": "-3",
     "longBar": "+ 3",
     "idZona": "2",
     "fotoBar": "/3.jpg"
  },
  {
     "idBar": "9",
     "nombreBar": null,
     "direccionBar": null,
     "latiBar": null,
     "longBar": null,
     "idZona": "3",
     "fotoBar": null
  }
]



como ven me devuelve datos null si todos los campos estan completos ????? alguien sabe porque puede ser ???
saludos !!!!


· No se debe escribir en mayúsculas
>aquí las reglas del foro
-Engel Lex
"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso

engel lex

muestra que resulta de esta consulta en el administrador de mysql

SELECT * FROM tBares WHERE idBar=5

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

danny920825

#2
Estoy empezando pero en mi afán por aprender, me voy a aventurar a ofrecer mi ayuda y ya me dirán si estoy errado. Del código:
Código (php) [Seleccionar]

       $con=mysql_connect('server','usuario','contraseña');
$db=mysql_select_db('basededatos',$con);
$sql= "SELECT * FROM tBares";
$resultado = mysql_query($sql);


Veo que seleccionas una base de datos usando
Código (php) [Seleccionar]
$db=mysql_select_db('basededatos',$con); pero no es la que usas luego en la consulta:
Código (php) [Seleccionar]

       $sql= "SELECT * FROM tBares";
$resultado = mysql_query($sql);

¿Eso puede ser lo que te esté dando problemas o puedes seleccionar una Base de Datos y luego usar otra?
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno

Razzari

#3

ya pude solucionarlo, siempre me pasa lo mismo, cuando decido buscar ayuda al instante s eme viene a la mente la respuesta ! jajaja
el problema estaba en que tenia registros con la letra "ü" y los campos estaban en "latin1_general_ci" resulta que no me reconocía la "Ü" y si ejecutaba la consunlta en sql me devolvía bien los datos, pero json me los presentaba como null
Tuve que cambiar el tipo de "idioma" y pude solucionarlo

de todas formas muchas gracias por responder !!!!

este es el unico foro del que soy parte y admiro como las personas simplemente ayudan sin esperar nada a cambio !!!
Despues de todo de eso se trata, se trato, y se tratara siempre, de ayudarnos entre nosotros

nuevamente gracias y saludos !


Cita de: danny920825 en 24 Febrero 2017, 02:00 AM
Estoy empezando pero en mi afán por aprender, me voy a aventurar a ofrecer mi ayuda y ya me dirán si estoy errado. Del código:
Código (php) [Seleccionar]

       $con=mysql_connect('server','usuario','contraseña');
$db=mysql_select_db('basededatos',$con);
$sql= "SELECT * FROM tBares";
$resultado = mysql_query($sql);


Veo que seleccionas una base de datos usando
Código (php) [Seleccionar]
$db=mysql_select_db('basededatos',$con); pero no es la que usas luego en la consulta:
Código (php) [Seleccionar]

       $sql= "SELECT * FROM tBares";
$resultado = mysql_query($sql);

¿Eso puede ser lo que te esté dando problemas o puedes seleccionar una Base de Datos y luego usar otra?

hola danny, lo que paso es que cambie los datos de usuario contraseña etc para que no quedaran publicon y se ve que tambien cambie sin querer el nombre de la base de datos, pero si efectivamente la base se llama tBares, pero solo lo cambie para preguntar
De todas formas gracias por tu respuesta !


· No hagas doble post
· No se debe escribir en mayúsculas
>aquí las reglas del foro
-Engel Lex
"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso

danny920825

Ok, Un placer poder ayudar a otros aunque no haya sido la respuesta que le dio solución a tu problema. Gracias por el dato.
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno