PHP - PHP mysqli y JSON

   
Vista:

PHP mysqli y JSON

Publicado por Oscar (9 intervenciones) el 28/01/2018 12:04:04
Hola,

My empresa de hosting ha decidido por su cuenta cambiar la versión de php y donde tenía mi código funcionando, ahora no funciona.

Mi problema es que antes mostraba los datos de la base de datos en un JSON desde mysql.

Ahora tengo que hacerlo con mysqli y, pese a que parece que hace la consulta, no me muestra el contenido del array. Se que estoy haciendo algo mal pero, después de comerme mucho la cabeza, no encuentro dónde.

Podéis ayudarme, por favor?. Es poco urgente!

Os dejo mi código abajo.
Mil gracias!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type-> application/json; charset=UTF-8");
 
include 'conectar.php';
 
 
$data = array();
 
mysqli_query('SET CHARACTER SET utf8');
 
$result = mysqli_query("SELECT * FROM v_equipos");
 
/*if (!$result) {
	$mensaje = 'Consulta no válida: ' .mysqli_error() ."\n";
	$mensaje = 'Consulta completa: ' .$result;
	die($mensaje);
}*/
 
while ($row = mysqli_fetch_array($result)) {
	$data [ ] = array(
        categoria => $row['nombre_categoria'],
        equipo => $row['nombre_equipo'],
        puntosLocal => $row['resultLocal'],
        puntosVisitante => $row['resultVisitante'],
        rival => $row['rival'],
        direccion => $row['lugar'],
        mesa => $row['mesa'],
        delegado => $row['delegado'],
        semana => $row['semana'],
        diaPartido => $row['diaPartido'],
        horaCita => $row['horaCita'],
        horaPartido => $row['horaPartido'],
        local_visitante => $row['local_visitante'],
        diaPartido_WR => $row['diaPartido_WR'],
        diaPartido_YW => $row['diaPartido_YW'],
        ordenCategoria => $row['ordenCategoria'],
	);
 
};
 
 
echo json_encode($data);
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

PHP mysqli y JSON

Publicado por xve (6548 intervenciones) el 28/01/2018 19:38:01
Al utilizar mysqli_query, tienes que indicar el conector...
https://secure.php.net/manual/es/mysqli.query.php

algo así:
1
$result = mysqli_query($link,"SELECT * FROM v_equipos");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por Oscar (9 intervenciones) el 28/01/2018 22:41:50
Muchas gracias xve, pero sigue sin mostrar los datos.

Alguna otra idea?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

PHP mysqli y JSON

Publicado por xve (6548 intervenciones) el 29/01/2018 08:22:17
Hola Oscar, te da algún error?
El json_encode($data); que te muestra?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por oscar (9 intervenciones) el 29/01/2018 21:43:27
Hola xve,

No da ningún error. Parece que hace la consulta y muestra los corchetes:

[ ]

pero no el contenido del array.

Estoy superfrustrado, la verdad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por oscar (9 intervenciones) el 31/01/2018 21:55:28
Perdonad la insistencia, pero se os ocurre qué puedo estar haciendo mal?

mil gracias
Oscar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

PHP mysqli y JSON

Publicado por xve (6548 intervenciones) el 01/02/2018 08:04:37
Hola Oscar, yo revisaria varias cosas...

1.- que en el archivo conectar.php se realice la conexión correctamente, y que la variable que hace referencia a la conexión, la utilices correctamente en el mysqli_query()

2.- Descomenta las lineas 14 a la 18 para ver que error te da, y en vez de utilizar:
1
mysqli_error();
utiliza:
1
mysqli_error($variable que hace referencia a la conexion);


Haber si así ves que puede estar pasando... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por oscar (9 intervenciones) el 01/02/2018 19:59:45
le he metido un echo a la conexión: Se ha establecido la conexión al servidor MySQL con éxito. y me la devuelve correctamente. También me devuelve el string de la consulta, pero sigue sin mostrarme el contenido del array.

esto es lo que se muestra:
----------------------

Se ha establecido la conexión al servidor MySQL con éxito.
Consulta completa:

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

Seguimos buscando soluciones.
Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por Yamil Bracho (726 intervenciones) el 01/02/2018 20:08:07
Chequea si esta leyendo datos

1
2
3
while ($row = mysqli_fetch_array($result))  {
    print_r($row);
}

o puedes hacer esto tambien

1
print_r($data);


A lo mejor tienes algun campo en null entonces usa

1
echo json_encode($data, JSON_PARTIAL_OUTPUT_ON_ERROR);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por oscar (9 intervenciones) el 01/02/2018 20:32:06
todo igual. No devuelve nada....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por Yamil Bracho (726 intervenciones) el 01/02/2018 20:43:11
Cuando le colocas print_r($row) en el ciclo no muestra nada ?
Entonces el probelam esta en $result = mysqli_query("SELECT * FROM v_equipos");

Cambialo a

$result = mysqli_query("SELECT * FROM v_equipos") or die("Error en SELECT de v_equipos");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por oscar (9 intervenciones) el 01/02/2018 20:50:17
Esto si me devuelve el error en la select: Error en SELECT de v_equipos

lo que pasa es que antes de cambiar a mysqli funcionaba sin problema. Tienes alguna idea de cómo solucionarlo?
muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por Yamil Bracho (726 intervenciones) el 01/02/2018 21:05:10
Para saber cual es el error especifico puedes colocar algo como

$result = mysqli_query("SELECT * FROM v_equipos") or die(mysqli_error($con));

$con debe ser la variable con que aperturaste la conexion...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

PHP mysqli y JSON

Publicado por oscar (9 intervenciones) el 01/02/2018 21:19:39
esta es mi variable en conectar.php:

1
2
3
4
5
6
7
$connect = mysqli_connect($host_name, $user_name, $password, $database);
 
if (mysqli_connect_errno()) {
    die('<p>Error al conectar con servidor MySQL: '.mysqli_connect_error().'</p>');
} else {
    echo '<p>Se ha establecido la conexión al servidor MySQL con éxito.</p >';
}

La he añadido a la select die y sigo con el mismo problema. Es posible que esté mal la conexión?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

PHP mysqli y JSON

Publicado por xve (6548 intervenciones) el 02/02/2018 07:50:38
Oscar, pon la variable con la que has realizado la conexión en el query... algo así:
1
$result = mysqli_query($connect, "SELECT * FROM v_equipos") or die(mysqli_error($con));

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP mysqli y JSON

Publicado por oscar (9 intervenciones) el 02/02/2018 17:20:49
recibo esto:

Se ha establecido la conexión al servidor MySQL con éxito.

nada más.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad