comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Porque no me muestra el resultado json en php?

  • 12 Respuestas
  • 6947 Vistas

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

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 121
  • Actividad:
    0%
  • Reputación 0
  • belial grimoire
    • Ver Perfil
« en: Agosto 23, 2013, 06:24:57 pm »
hola

estoy haciendo un codigo sencillo para aprender como usar funciones en php, hice 2 archivos, uno es para registar datos a mysql, y el segundo es para consultar

pero tengo un problema en el archivo de consulta, no me aparece nada, unicamente puedo registar datos

este es el codigo para consulta

Código: PHP
  1. <?php
  2.  
  3. include('funcion.php');
  4.  
  5. $cc=$_GET['cedula'];
  6.  
  7. if($resultset = getSQLResultSet("SELECT cedula,nombre,apellido,direccion,telefono FROM `tablaprueba` where cedula = '$cc'")){
  8.    
  9.     while($row = $resultset->fetch_array(MYSQLI_NUM)){
  10.         echo json_encode($row);
  11.     }
  12. }
  13.  
  14. ?>

y esta es la funcion

Código: PHP
  1.  
  2. header('Content Type= text/html; charset=utf-8');
  3.  
  4. function getSQLResultSet($commando){
  5.    
  6.     $mysql = new mysqli("localhost", "root", "pass", "prueba");
  7.    
  8.     if($mysqli->connect_errno){
  9.        
  10.         printf("conexion fallida: %s", $mysqli->connect_errno);
  11.         exit();
  12.     }
  13.    
  14.     if($mysqli->multi_query($commando)){
  15.        
  16.         return $mysqli->store_result();
  17.     }
  18.     $mysqli->close();
  19. }
  20.  
  21. ?>

que error podria tener?, ya que no me muestra ningun resultado

el "primary key" de la base de datos es "cedula", lo cual hago lo siguiente para que me muestre el resultado de la cedula que solicito

localhost/consulta.php?cedula=123456

pero no me muestra nada el explorador, utilizo firefox

salu2
« Última modificación: Marzo 22, 2014, 01:51:07 pm por Expermicid »

Desconectado Destructor.cs

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Agosto 23, 2013, 08:41:32 pm »
Código: PHP
  1. <?php
  2.  
  3. include('funcion.php');
  4.  
  5. $cc=$_GET['cedula'];
  6.  
  7. if($resultset = getSQLResultSet("SELECT cedula,nombre,apellido,direccion,telefono FROM `tablaprueba` where cedula = '$cc'")){
  8.    
  9.     while($row = $resultset->fetch_array(MYSQLI_NUM)){
  10.         echo json_encode($row);
  11.     }
  12. }
  13.  
  14. ?>

Mira en la sentencia sql, mejor dicho en esta parte:

("SELECT cedula,nombre,apellido,direccion,telefono FROM `tablaprueba` where cedula = '$cc'")

quitale las comillas a $cc, recuerda que cuando trabajas con comillas dobles se puede insertar variables, y ademas quitale las comillas a tablaprueba, hay dos formas de hacerlo, una es asi:

('SELECT cedula,nombre,apellido,direccion,telefono FROM tablaprueba where cedula = ' . $cc)

y la otra es asi:

("SELECT cedula,nombre,apellido,direccion,telefono FROM tablaprueba where cedula = $cc ")

Fijate a ver que tal, saludos!
« Última modificación: Agosto 23, 2013, 08:45:53 pm por Destructor.php »

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 121
  • Actividad:
    0%
  • Reputación 0
  • belial grimoire
    • Ver Perfil
« Respuesta #2 en: Agosto 23, 2013, 09:17:58 pm »
ya lo intente de las dos formas pero no me muestra nada, tambien lo quise hacer directamente

("SELECT * FROM tablaprueba where cedula = 123456")

no se si sirva de algo, pero estoy usando apache2 en linux, talvez me haga falta algo para usar json o porque sera no me aparecera el resultado?

tambien ya intente borrando el cache del explorador

Desconectado Destructor.cs

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #3 en: Agosto 23, 2013, 09:30:25 pm »
Lo mejor seria "depurar el codigo" por ejemplo, en en el archivo función en esta parte agregale lo que yo le agregue:

Código: PHP
  1. if($mysqli->multi_query($commando)){
  2.         echo "hasta aqui funciona";
  3.         return $mysqli->store_result();
  4.     }
  5.  

si te lo imprime en pantalla es que hasta ahi funciona el codigo, luego si todo va bien haz esto:
Código: PHP
  1. if($mysqli->multi_query($commando)){
  2.         $hola =  $mysqli->store_result();
  3.         echo $hola;
  4.         return $hola;
  5.     }
  6.  

si en ese caso te imprime true en pantalla, entonces sabes que el error está en la respuesta, avisame si hasta ahi va bien y te ayudo a seguir con el resto de la depuracion

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 121
  • Actividad:
    0%
  • Reputación 0
  • belial grimoire
    • Ver Perfil
« Respuesta #4 en: Agosto 23, 2013, 09:39:53 pm »
no me aparece el mensaje, si coloco un echo fuera de if, si me aparece un mensaje, pero dentro no aparece ninguno

Desconectado Destructor.cs

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #5 en: Agosto 23, 2013, 10:10:37 pm »
Intentaste con la consulta sql que yo te mande?

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 121
  • Actividad:
    0%
  • Reputación 0
  • belial grimoire
    • Ver Perfil
« Respuesta #6 en: Agosto 23, 2013, 10:26:10 pm »
creo el error es parte ya sea del explorador o de linux o de las dos, me pase un momento a windows para realizar el codigo de consulta a mysql como me dijiste, instale wampserv y me funciono, ya me aparece el resultado

 ???, pero que me hara falta en linux??

EDITADO

-------------

coloque este ejemplo y me funciono json, es algo raro, pero sigue sin funcionar consulta.php en linux


<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>


« Última modificación: Agosto 23, 2013, 10:34:06 pm por grimoire »

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 121
  • Actividad:
    0%
  • Reputación 0
  • belial grimoire
    • Ver Perfil
« Respuesta #7 en: Agosto 23, 2013, 10:41:57 pm »
jajaja, que torpe me senti, jaja ya lo solucione

Código: PHP
  1.   $mysql = new mysqli("localhost", "root", "pass", "prueba");

este era mi error... una simple "i"

Código: PHP
  1.   $mysqli = new mysqli("localhost", "root", "pass", "prueba");

muchas gracias por tu ayuda destructor.php

salu2 ;D

 :-[

Desconectado Destructor.cs

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #8 en: Agosto 23, 2013, 10:50:07 pm »
Te deberia haber saltado error entonces :/ Talvez tienes error_reporting a 0!
Me alegro que hayas podido solucionarlo
Saludos

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #9 en: Agosto 24, 2013, 12:47:41 am »
la proxima vez que quieras saber si una variable tiene realmente algo pon var_dump($variable); (sin echo) y te dirá aunque no tenga nada que tiene valor NULL xD, si usas json te puede decir nada como te pasaba.

como dijo destructor, activa el reporte de errores y ponlo en un nivel alto para que te avise cuando usas variables que no fueron declaradas por ejemplo.

tu ya haz dicho el problema, y su solución asique no voy a decir que te faltaba la i aunque era bastante obvio xD

saludos!
« Última modificación: Octubre 04, 2013, 02:22:33 pm por [H]arkonnen »

Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 3
  • 吴阿卡
    • Ver Perfil
    • WHK
« Respuesta #10 en: Agosto 30, 2013, 10:13:13 am »
tal como dice Destructor.php cuando tengas un servidor de desarrollo debes trabajar siempre con el reporte de errores habilitado o si no estarás programando a ciegas.

desde php.ini busca error_reporting o si no desde php usa esto:
http://php.net/manual/en/function.error-reporting.php

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #11 en: Octubre 02, 2013, 05:04:43 pm »
tal como dice Destructor.php cuando tengas un servidor de desarrollo debes trabajar siempre con el reporte de errores habilitado o si no estarás programando a ciegas.

desde php.ini busca error_reporting o si no desde php usa esto:
http://php.net/manual/en/function.error-reporting.php

para que eso funcione el display errors debe estar activado, si no tienes acceso al archivo de inicialización de php (php.ini) puedes usar la directiva de configuración ini_set('regla', valor);

para activar el muestreo de error puedes usar ini_set('display_errors', TRUE); esto te puede servir para servidores web.

pido disculpas si mi respuesta está fuera de lugar, no me tomé el tiempo de leer las respuestas anteriores.

saludos!

Desconectado Xt3mP

  • *
  • Underc0der
  • Mensajes: 432
  • Actividad:
    0%
  • Reputación 0
  • Ellos me están buscando, pero yo los encontraré.
    • MSN Messenger - Xt3mP@h4x0rz.us
    • AOL Instant Messenger - Xt3mP@h4x0rz.us
    • Yahoo Instant Messenger - Xt3mP@h4x0rz.us
    • Ver Perfil
    • Xt3mP
« Respuesta #12 en: Octubre 03, 2013, 02:32:57 pm »
Intentan con esto:

Código: PHP
  1. <?php
  2.  
  3. include('funcion.php');
  4.  
  5. $cc=$_GET['cedula'];
  6.  
  7. $returnData = array();
  8.  
  9. if($resultset = getSQLResultSet("SELECT cedula,nombre,apellido,direccion,telefono FROM `tablaprueba` where cedula = '$cc'")){
  10.    
  11.     while($row = $resultset->fetch_array(MYSQLI_NUM)){
  12.         $returnData[] = $row;
  13.     }
  14. }
  15.  echo json_encode($returnData);
  16. ?>

Saludos,
Xt3mP.
Cada vez que me das Karma me motivas

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 8355
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1709
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2290
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 3189
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3567
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon