entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

4votos

php no realiza el json_encode

buenas tengo el siguiente código

case 2:
            echo "2";
            if(!($iden=mysql_connect($dbhost,$dbuser,$dbpass))){
                die('Error: No se pudo conectar con la base de datos');
            }
            mysql_select_db($database);
            $sql="SELECT * FROM posts";
            $result=mysql_query($sql);
            if(mysql_num_rows($result)){
                $reponse['posts']=array();
                while($row=mysql_fetch_assoc($result)){
                    $post=array();
                    $post['post_id']=$row['post_id'];
                    $post['title']=$row['title'];
                    $post['preview']=$row['preview'];
                    $post['body']=$row['body'];
                    $post['date_add']=$row['date_add'];
                    $reponse['posts'].array_push($reponse['posts'], $post);
                }
                $reponse['sucess']=1;
                echo json_encode($reponse);
            }else{
                $reponse['sucess']=0;
                echo json_encode($reponse);
            }
            mysql_close($iden);
            break;

el problema es que no muestra el encoge de la variable $reponse por pantalla, la conexión a la base de datos se realiza correctamente y el array se llena según lo esperado, pero al realizar el echo json_encode($reponse) no muestra nada por pantalla, he probado creando arrays y llamando a la función y eso funciona bien, pero no se porque no me codifica $reponse, muchas gracias por adelantado

-1voto

pedrourday comentado

Hola @oscar rodriguez

Yo creo que he tenido ese mismo problema. Encontré la solución en este foro

Esta en inglés. Pero no es difícil de entender. Fijate si te sirve. Solo tenes que probar.

Saludos!

0voto

guillermofernandez comentado

Bueno Oscar Rodriguez y cual fue la solución al problema de json_encode() ?
Agradeceré tu respuesta.

1voto

oscar rodriguez comentado

Buenas Guillermo,
El problema que tenia era que los base de datos no estaba en UTF8 y por lo tanto al realizar el encode lo realizaba mal, la solución fue cambiar la codificación de la base de datos a UTF8 y ademas remplazar los datos problemáticos, es decir, las tildes y las eñes.
Espero que te sirva de ayuda, hace mucho que no programo con PHP, pero si posteas tu problema al detalle quizá sea capaz de ayudarte, sino seguro que alguno de los desarrolladores de esta plataforma te ayudara con gusto, a mi me trataron genial.

1voto

guillermofernandez comentado

@oscar rodriguez eres muy amable, muchas gracias por tu respuesta.
Saludos

1voto

pedrourday comentado

No te olvides de incluir la siguiente linea antes del json_encode:

header('Content-Type: application/json');

Es recomendable hacerlo siempre.

1 Respuesta

1voto

$sentencesArray = json_decode($reponse, true);
$sentences = "";
echo $sentences;

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta