PHP - No devuelve fecha (mysqli_fetch_row)

 
Vista:

No devuelve fecha (mysqli_fetch_row)

Publicado por Quim Martín (8 intervenciones) el 02/03/2020 19:09:59
Hola!

Me falla esta linea. He probado con otro tipo de datos y si funciona.

1
$fecha=mysqli_fetch_row($resultado);

Debe devolver una fecha.
Soy muy novato en esto y seguramente es una tontería.

Muchas 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
<?php
 
$db_host="localhost";
$db_nombre="ligamontgatcorre";
$db_usuario="root";
$db_contra="";
 
$conexion=mysqli_connect($db_host, $db_usuario, $db_contra);
 
if(mysqli_connect_errno()){
 
    echo "Fallo conexion";
    exit();
 
}
 
mysqli_select_db($conexion, $db_nombre) or die("No se encuentra la base de datos");
mysqli_set_charset($conexion, "utf8");
 
$corredor=$_POST['corredor'];
$carrera=$_POST['carrera'];
$posicion=$_POST['posicion'];
 
// Consulta la fecha de la carrera y la inserta en la BBDD puntosligacarrera
$consulta="SELECT fecha FROM datoscarreras where carrera==$carrera";
$resultado=mysqli_query($conexion,$consulta);
$fecha=mysqli_fetch_row($resultado);
echo $fecha[0];
 
// Graba los datos
$sql="insert INTO puntosligacarrera (carrera, corredor, fecha, posicion) VALUES ('$carrera', '$corredor', '$fecha[0]', '$posicion')";
 
//ejecutamos la sentencia de sql
$ejecutar=mysqli_query($conexion, "$sql");
 
//verificamos la ejecucion
if(!$ejecutar){
    echo"Hubo Algun Error";
}else{
    echo"Datos Guardados Correctamente<br><a href='intrcorredorcarrera.php'>Volver</a>";
}
?>
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No devuelve fecha (mysqli_fetch_row)

Publicado por Julio (830 intervenciones) el 02/03/2020 19:26:34
Hola.

No sé si será ese tu error, pero en las sentencias SQL no se pone ==, sino que sólo se pone un igual. Prueba a ver.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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
sin imagen de perfil

No devuelve fecha (mysqli_fetch_row)

Publicado por Quim (8 intervenciones) el 02/03/2020 19:30:47
No, lo acabo de probar y ya lo probé y pasa lo mismo.
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
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No devuelve fecha (mysqli_fetch_row)

Publicado por Kathyu (905 intervenciones) el 02/03/2020 20:31:30
Y que error da?
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No devuelve fecha (mysqli_fetch_row)

Publicado por Julio (830 intervenciones) el 02/03/2020 20:42:33
Pon la fecha entre comillas en la consulta. ¿Funciona?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No devuelve fecha (mysqli_fetch_row)

Publicado por Quim Martín (8 intervenciones) el 02/03/2020 20:49:26
He probado con fecha entre comillas de esta manera y con comillas también en la comparación

1
$consulta="SELECT 'fecha' FROM datoscarreras where carrera='$carrera'";

Tampoco me devuelve nada en el echo que lo he puesto para ver si devuelve algo

No sale el error pero no graba los datos.


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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No devuelve fecha (mysqli_fetch_row)

Publicado por Julio (830 intervenciones) el 02/03/2020 21:21:13
A ver, vamos a cosas más directas pues. Coloca un var_dump después de definir $carrera y coloca otro después de $resultado.

¿Qué muestran?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No devuelve fecha (mysqli_fetch_row)

Publicado por Quim Martín (8 intervenciones) el 02/03/2020 21:26:45
Retorna esto:

C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:23:string ' Mitja Marató Colomenca ' (length=25)
C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:29:
object(mysqli_result)[2]
public 'current_field' => int 0
public 'field_count' => int 1
public 'lengths' => null
public 'num_rows' => int 0
public 'type' => int 0
Hubo Algun Error


Parece que no devuelve nada la consulta
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No devuelve fecha (mysqli_fetch_row)

Publicado por Julio (830 intervenciones) el 02/03/2020 21:30:43
¿Eso es $carrera o sólo $result?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No devuelve fecha (mysqli_fetch_row)

Publicado por Quim Martín (8 intervenciones) el 02/03/2020 21:33:34
Esto es $carrera:

C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:23:string ' Mitja Marató Colomenca ' (length=25)

Y esto es $resultado

C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:29:
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No devuelve fecha (mysqli_fetch_row)

Publicado por Julio (830 intervenciones) el 02/03/2020 21:41:24
Ah vale, ya entiendo. No sé por qué pensaba que carrera era una fecha, jajaja.

Me sorprende que resultado ni siquiera te muestra un false como que tuvo un error en la consulta, pero bueno.

¿Puedes acceder a la base de datos desde phpmyadmin? ¿Puedes ejecutar la consulta allí y ver si funciona?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No devuelve fecha (mysqli_fetch_row)

Publicado por Quim Martín (8 intervenciones) el 02/03/2020 21:43:40
He introducido este cambio y funciona

1
$consulta="SELECT fecha FROM datoscarreras where carrera like '%Mitja%'";

el problema es la comparación de carrera=$carrera

Resultado de dump:

C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:23:string ' Mitja Marató Colomenca ' (length=25)
C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:28:string 'SELECT fecha FROM datoscarreras where carrera like '%Mitja%'' (length=60)
C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:30:
object(mysqli_result)[2]
public 'current_field' => int 0
public 'field_count' => int 1
public 'lengths' => null
public 'num_rows' => int 1
public 'type' => int 0
C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:32:
array (size=1)
0 => string '2020-03-01' (length=10)
2020-03-01Datos Guardados Correctamente
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No devuelve fecha (mysqli_fetch_row)

Publicado por Julio (830 intervenciones) el 02/03/2020 21:49:45
Espera espera. Haz esto:

1
$carrera = trim($_POST['carrera']);

Y luego vuelve a poner la consulta con carrera = '$carrera' sin olvidarte de las comillas.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No devuelve fecha (mysqli_fetch_row)

Publicado por Quim Martín (8 intervenciones) el 02/03/2020 21:56:35
TOOOOMAAAAA!!!!!

FRANCAMENTE AGRADECIDO!!
Muchas gracias por dedicarme tu tiempo, espero que esto le sirva a alguien también!!

Resultado:

C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:24:string 'Mitja Marató Colomenca' (length=23)
C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:29:string 'SELECT fecha FROM datoscarreras where carrera = 'Mitja Marató Colomenca'' (length=73)
C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:31:
object(mysqli_result)[2]
public 'current_field' => int 0
public 'field_count' => int 1
public 'lengths' => null
public 'num_rows' => int 1
public 'type' => int 0
C:\wamp64\www\Liga_Montgatcorre\guardarcorredorcarrera.php:33:
array (size=1)
0 => string '2020-03-01' (length=10)
2020-03-01Datos Guardados Correctamente
Volver

FRANCAMENTE AGRADECIDO!!
Muchas gracias por dedicarme tu tiempo, espero que esto le sirva a alguien tambié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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No devuelve fecha (mysqli_fetch_row)

Publicado por Julio (830 intervenciones) el 02/03/2020 22:01:00
No sé si te has fijado de qué ocurría.

Si te fijas en el var_dump de $carrera verás que había un espacio en blanco tanto al principio como al final del string. Por eso, al buscar esa cadena en la base de datos no la encontraba, por culpa de los espacios.

Por eso cuando has cambiado a like sí ha funcionado, porque encontraba Mitja dándole igual lo que tenía delante y detrás. Mira a ver por qué $carrera tiene espacios delante y detrás, no debería ser así. Lo que hace la función trim es eliminar los espacios tanto al principio como al final.

Si estás aprendiendo PHP te invito a que te pases por mi blog y te suscribas. Aún tengo pocos contenidos pero puedes ver en el índice de contenidos todo lo que está publicado y lo que se publicará próximamente.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No devuelve fecha (mysqli_fetch_row)

Publicado por Quim Martín (8 intervenciones) el 02/03/2020 23:25:29
Muchas gracias.

Lo haré!!
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