PHP - Argumento en la funcion con array

 
Vista:
Imágen de perfil de Alex
Val: 105
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Argumento en la funcion con array

Publicado por Alex (53 intervenciones) el 09/10/2019 04:38:53
Buenas, mi problema es que con una funcion obtengo el nombre del ganador, pero cuando la variable que encierra a esa funcion la pongo como argumento en una funcion la otra funcion me tira NULL o bool(false)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function ganadorNombre($conexion, $i, $id){
    $sentencia = $conexion->prepare("SELECT usuario FROM Numeros WHERE numero = $i and id = '$id' and estado = 2");
    $sentencia->execute();
    return $sentencia->fetch();
}
$numeroGanador = 3;
$id = 'a4564';
$nombreGanador = ganadorNombre($conexion, $numeroGanador, $id);
$nombreGanador = $nombreGanador[0];
 
var_dump($nombreGanador . ' ' .$numeroGanador); // esto me muestra tal cual el nombre del usuario y el numero 3.
//pero cuando paso esa variable $nombreGanador al argumento de la funcion salta NULL
function datosGanador($conexion, $ganador){
    $resultado = $conexion->query("SELECT * FROM Usuarios WHERE usuario = '$ganador'");
    $resultado = $resultado->fetchAll();
    return ($resultado) ? $resultado : false;
}
 
 $ganador = datosGanador($conexion, $nombreGanador);
var_dump($ganador); //probando el $ganador[0] no lanza ningun resultado
//Cabe aclarar que si a $nombreGanador lo reemplazo por '(algun usuario)' si me devuelve los resultados
ahi esta el codigo si alguien ve el error o se le ocurre alguna solucion se lo agradeceria mucho.
Desde ya muchas gracias.
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Argumento en la funcion con array

Publicado por joel (1269 intervenciones) el 09/10/2019 08:58:49
Hola Alex, has mirado que valor tienes la variable $nombreGanador?
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 alex
Val: 105
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Argumento en la funcion con array

Publicado por alex (53 intervenciones) el 09/10/2019 14:10:20
Si, ahi muestra string(9) "barreiroi"
En el codigo puse q el var_dump() lo muestra tal cual.
pero al poner esa variable como argumento no funciona
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Argumento en la funcion con array

Publicado por joel (1269 intervenciones) el 09/10/2019 18:27:45
Entonces no se muy bien porque falla...

En vez de var_dump, prueba echo o gettype() haber que te devuelve...

también prueba ha hacer:
1
echo "SELECT * FROM Usuarios WHERE usuario = '$ganador'";
haber que te devuelve
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 alex
Val: 105
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Argumento en la funcion con array

Publicado por alex (53 intervenciones) el 09/10/2019 20:08:42
Haciendo el
1
2
3
4
5
echo $nombreGanador; //muestra tal cual el nombre del ganador
gettype($nombreGanador); //muestra string
echo "SELECT * FROM Usuarios WHERE usuario = '$ganador'"; //muestra tal cual lo que esta en las comillas
echo $conexion->query("SELECT * FROM Usuarios WHERE usuario = '$nombreGanador'"); //muestra lo siguiente:
 Recoverable fatal error: Object of class PDOStatement could not be converted to string
Alguna idea de como solucionarlo?
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

Argumento en la funcion con array

Publicado por Irwin (2 intervenciones) el 10/10/2019 01:17:53
echo "SELECT * FROM Usuarios WHERE usuario = '$ganador'";

echo $conexion->query("SELECT * FROM Usuarios WHERE usuario = '$nombreGanador'");
-------------------------------------------------------------------------------------------------------------------------

hola que tal... soy nuevo en esto pero creo que un echo para esas dos sentencias no es posible...

ya que el select regresa * cantidad de valores... no estas definiendo que valor imprimir especificamente...

creo yo que es asi...
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 Alex
Val: 105
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Argumento en la funcion con array

Publicado por Alex (53 intervenciones) el 10/10/2019 07:44:22
En mi codigo la variable $ganador ya esta definida
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

Argumento en la funcion con array

Publicado por Irwin (2 intervenciones) el 11/10/2019 21:16:39
cambia la funcion

1
2
3
4
5
function datosGanador($conexion, $ganador){
    $resultado = $conexion->query("SELECT * FROM Usuarios WHERE usuario = '$ganador'");
    $resultado = $resultado->fetchAll();
    return ($resultado) ? $resultado : false;
}

de la siguiente manera a ver si funciona.

1
2
3
4
5
6
7
8
function datosGanador($conexion, $ganador){
    $resultado = $conexion->query("SELECT * FROM Usuarios WHERE usuario = '$ganador'");
    $resultado2 = $resultado->fetchAll();
    return ($resultado2) ? $resultado2 : false;
}
 
$ganador = datosGanador($conexion, $nombreGanador);
print_r($ganador);

a ver que te sale.
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 alex
Val: 105
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Argumento en la funcion con array

Publicado por alex (53 intervenciones) el 12/10/2019 05:00:10
Tampoco funcionó, sigue devolviendo un bool(false).
Gracias igual.
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