PHP - 3 variables en consulta

 
Vista:
Imágen de perfil de Tomás

3 variables en consulta

Publicado por Tomás (81 intervenciones) el 12/12/2013 22:43:40
Hola, muy buenas.

Dispongo de:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$id=((isset($_GET['id']) && !empty($_GET['id']))?$_GET['id']:false);
 
    $secret=((isset($_GET['secret']) && !empty($_GET['secret']))?$_GET['secret']:false);
 
    $secret2=((isset($_GET['secret2']) && !empty($_GET['secret2']))?$_GET['secret2']:false);
 
    $secret3=((isset($_GET['secret3']) && !empty($_GET['secret3']))?$_GET['secret3']:false);
 
    $lacosalink = mysqli_query($conexion, "SELECT * FROM cosa WHERE id = '".$id."' AND secret = '".$secret."' AND secret2 = '".$secret2."' AND secret3 = '".$secret3."'")or die("error 4");
 
    $compru = mysqli_query($conexion, "SELECT * FROM cosa WHERE secret = '".$secret."' AND secret2 = '".$secret2."' AND secret3 = '".$secret3."'")or die("error 5");
 
    $comprus = mysqli_query($conexion, "SELECT * FROM cosa WHERE ID = '".$id."'")or die("<meta http-equiv='Refresh' content='0;url=http://localhost/'>");
if(mysqli_num_rows($comprus) < 1){
            echo "error 1";
        }
        else if(mysqli_num_rows($compru) < 1){
            echo "error 2";
        }

La cosa es que me lanza siempre el: ERROR 2

Y están bien los campos en la base de datos... ¿Por qué?.

Saludos.
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

3 variables en consulta

Publicado por xve (6935 intervenciones) el 13/12/2013 11:26:15
Hola Tomás, entiendo que el problema lo tienes en esta linea que no te devuelve ningun resultado:
1
$lacosalink = mysqli_query($conexion, "SELECT * FROM cosa WHERE id = '".$id."' AND secret = '".$secret."' AND secret2 = '".$secret2."' AND secret3 = '".$secret3."'")or die("error 4");

El campo id es de tipo char? si es numérico va sin comillas...

Puedes probarlo?
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 Tomás

3 variables en consulta

Publicado por Tomás (81 intervenciones) el 13/12/2013 19:30:50
es:

INT y A_I
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

3 variables en consulta

Publicado por xve (6935 intervenciones) el 23/12/2013 22:13:23
Entonces va sin comillas.... algo así:

1
$lacosalink = mysqli_query($conexion, "SELECT * FROM cosa WHERE id = ".$id." AND secret = '".$secret."' AND secret2 = '".$secret2."' AND secret3 = '".$secret3."'")or die("error 4");

Coméntanos que tal, 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
sin imagen de perfil

3 variables en consulta

Publicado por Elier (92 intervenciones) el 23/12/2013 14:36:44
El problema al parecer esta en que ejecutas varias consultas y no guardas la cantidad de filas antes de ejecutar la siguientes es decir, tienes que hacer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$compru = mysqli_query($conexion, $compru_query);
 
$compru_rows = mysqli_num_rows($compru);
 
$comprus = mysqli_query($conexion, $comprus_query);
 
$comprus_rows = mysqli_num_rows($comprus);
 
if($comprus_rows < 1)
{
    echo "error 1";
 }
 
if($compru_rows < 1)
{
 echo "error 2";
 }
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