PHP - Convertir variable

 
Vista:
Imágen de perfil de alex
Val: 68
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por alex (52 intervenciones) el 09/10/2019 03:48:50
Buenas, tengo una duda, estas funciones no dan ningun resultado
Ambas funciones no traen resultados.
Es la misma pero cuando probaba una comentaba la otra y nada..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function datosUsuario($conexion, $i, $id){
    $resultado = $conexion->query("SELECT U.* FROM Usuarios U, Numeros N
    WHERE U.usuario = N.usuario and N.numero = '$i' and N.id = '$id' and estado = 2)");
    $resultado = $resultado->fetchAll();
    return ($resultado) ? $resultado : false;
}
function datosUsuario($conexion, $i ,$id){
    $resultado = $conexion->query("SELECT * FROM Usuarios U WHERE EXISTS
    (SELECT usuario FROM Numeros N WHERE U.usuario = N.usuario and N.id = '$id' and estado = 2)");
    $resultado = $resultado->fetchAll();
    return ($resultado) ? $resultado : false;
}
$numero = '3';
$id = 'a325198';
$user = datosUsuario($conexion, $numero, $id);
var_dump($user);
La salida del siguiente codigo es esta:
Call to a member function fetchAll() on boolean y luego la ruta y la linea del error que seria $resultado = $resultado->fetchAll();
Pero no se como cambiarlo. Tambien probe con la funcion fetch(); pero lo mismo.
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 Alejandro
Val: 1.919
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por Alejandro (594 intervenciones) el 09/10/2019 16:03:34
Están mal tus querys.
Ejecútalos desde la consola para que puedas ver el error que tienen.
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: 68
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por alex (52 intervenciones) el 09/10/2019 16:13:51
Cuando dices que estan mal te refieres a la consulta en su interior?
Y cuando dices la consola a que te refieres? Inspeccionar elemento?
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.678
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por Kathyu (470 intervenciones) el 09/10/2019 16:22:53
Se refiere a que ejecute su consulta en la base de datos
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 Alejandro
Val: 1.919
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por Alejandro (594 intervenciones) el 09/10/2019 16:23:57
Las consultas
1
2
3
4
5
SELECT U.* FROM Usuarios U, Numeros N
    WHERE U.usuario = N.usuario and N.numero = '$i' and N.id = '$id' and estado = 2)
 
SELECT * FROM Usuarios U WHERE EXISTS
    (SELECT usuario FROM Numeros N WHERE U.usuario = N.usuario and N.id = '$id' and estado = 2)
tienen algún error, por eso te devuelve un valor booleano la linea 2 y 8 donde tienes
1
$resultado = $conexion->query(.....
Al ser un valor booleano te genera error las lineas 4 y 10

Por consola me refiero a la ventana de linea de comandos o mas fácil con phpMyAdmin, HeidiSQL, SQLyog o cualquier otro software para manejo de base de datos.
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: 68
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por alex (52 intervenciones) el 09/10/2019 20:56:07
No, no funciona, hice en la consola tambien pero ahi se ejecuta con exito.
Tambien probé este otro codigo:
1
2
3
4
5
6
7
8
function datosGanador($conexion, $ganador){
    $resultado = $conexion->query("SELECT * FROM Usuarios u
    INNER JOIN Numeros n 
    ON u.usuario = n.comprador 
    WHERE n.comprador = '$ganador' and estado = 2");
    $resultado = $resultado->fetchAll();
    return ($resultado) ? $resultado : false;
}
Y funciona pero solo si le paso el argumento $ganador escrito, es decir $ganador = 'perez'.
Pero si le paso este:
1
2
3
4
5
6
function ganadorNombre($conexion, $i, $id){
    $sentencia = $conexion->prepare("SELECT comprador FROM Numeros WHERE numero = $i and idrifa = '$id' and estado = 2");
    $sentencia->execute();
    return $sentencia->fetch();
}
$ganador = ganadorNombre($conexion, 3, 'a788');
y paso la variable al argumento de la otra funcion no.
Lo mas raro es que si hago lo siguiente
1
var_dump($ganador); //muestra el ganador de tipo string
No se me ocurre nignuna solucion a esto. Y estoy ya hace bastante tiempo
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 Alejandro
Val: 1.919
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por Alejandro (594 intervenciones) el 09/10/2019 22:03:24
ganadorNombre() te devuelve un array y datosGanador() recibe un string
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: 68
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por alex (52 intervenciones) el 09/10/2019 22:38:32
Y es posible convertir un valor de un array a string?
Ya que cuando pongo var_dump($ganador); muestra tal cual el ganador sin ningun array
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 Alejandro
Val: 1.919
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por Alejandro (594 intervenciones) el 09/10/2019 23:05:58
Me parece que haces mas destoso que solución
Pones un código y luego otro código totalmente diferente.

1
datosGanador($conexion, $ganador['comprador']);
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: 68
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir variable

Publicado por alex (52 intervenciones) el 10/10/2019 00:14:43
Acabo d probar pero al mostrarlo me devuelve un bool(false).
Pero si muestro solo el $ganador['comprador'] si lo muestra, pero como argumento no.
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