PHP - Error consulta $GET["id"]

 
Vista:
sin imagen de perfil
Val: 22
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET["id"]

Publicado por Javier (7 intervenciones) el 28/03/2019 19:40:47
1
2
3
4
5
6
$sql = "SELECT cat_id,
               cat_nombre,
               cat_descripcion 
            FROM categorias
        WHERE
            cat_id = " . mysql_real_escape_string($_GET['id']);

Mediante ese código estoy intentando mostrar una serie de datos en una tabla, pero me aparece el siguiente error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6

Al introducir yo un id existente si me sale todo correcto, entonces intuyo que el fallo está en la ultima sentencia PHP, pero no consigo encontrarlo.

Es la primera vez que escribo y no se si esto debería ir aqui o en la categoría SQL, asi que si es asi lo siento.

Gracias por la ayuda!
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.522
Plata
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET['id']

Publicado por Alejandro (495 intervenciones) el 28/03/2019 20:02:55
¿Que datos estas obteniendo en $_GET['ID']?
intenta imprimir el $sql para que veas que estas construyendo
SELECT cat_id, cat_nombre, cat_descripcion FROM categorias WHERE cat_id = [Aqui iria un numero o el nombre de un campo de la tabla]

Si tu cat_id corresponde a una cadena de texto te faltan las comillas
1
2
3
4
5
6
$sql = "SELECT cat_id,
cat_nombre,
cat_descripcion
FROM categorias
WHERE
cat_id = '" . mysql_real_escape_string($_GET['id'])."'";

si en la url estas poniendo ?ID=123, ?Id=123 o ?iD=123 son distintas a $_GET['id']
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
Val: 22
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET['id']

Publicado por Javier (7 intervenciones) el 28/03/2019 20:15:25
Parece que con eso se resuelve el fallo de las ", pero ahora me sale el fallo de Resource id #6.

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
include 'connect.php';
include 'header.php';
$sql = "SELECT cat_id,
               cat_nombre,
               cat_descripcion 
            FROM categorias
        WHERE
            cat_id = '" . mysql_real_escape_string($_GET['id'])."'";
 
$result = mysql_query($sql);
 
if(!$result)
{
    echo 'La categoría no puede mostrarse.' . mysql_error();
}
else
{
    if(mysql_num_rows($result) == 0)
    {
        echo 'Esta categoría no existe.';
        echo $result;
    }
    else
    {
        //display category data
        while($row = mysql_fetch_assoc($result))
        {
            echo '<h2>Temas de la categoría ′' . $row['cat_nombre'] . '′</h2>';
        }
 
        //do a query for the topics
        $sql = "SELECT
                    tema_id,
                    tema_nombre,
                    tema_fecha,
                    tema_categoria
                FROM
                    temas
                WHERE
                    tema_categoria =  '" . mysql_real_escape_string($_GET['id'])."'";
 
        $result = mysql_query($sql);
 
        if(!$result)
        {
            echo 'Los temas no pueden mostrarse, intentelo mas tarde.' .mysql_error();
        }
        else
        {
            if(mysql_num_rows($result) == 0)
            {
                echo 'No hay temas en esta categoría aun.';
            }
            else
            {
                //prepare the table
                echo '<table border="1">
                      <tr>
                        <th>Topic</th>
                        <th>Created at</th>
                      </tr>';
 
                while($row = mysql_fetch_assoc($result))
                {
                    echo '<tr>';
                        echo '<td class="leftpart">';
                            echo '<h3><a href="topic.php?id=' . $row['tema_id'] . '">' . $row['tema_nombre'] . '</a><h3>';
                        echo '</td>';
                        echo '<td class="rightpart">';
                            echo date('d-m-Y', strtotime($row['tema_fecha']));
                        echo '</td>';
                    echo '</tr>';
                }
            }
        }
    }
}
 
include 'footer.php';
?>

Ese es el código completo, no consigo resolverlo la verdad, asi que si pudieses echarle un ojo me sería de gran ayuda.

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

Error consulta $GET['id']

Publicado por Kathyu (352 intervenciones) el 28/03/2019 20:54:10
Deje de hacer ese tipo de querys, con lo fácil que es crear variables en PHP
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.522
Plata
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET['id']

Publicado por Alejandro (495 intervenciones) el 28/03/2019 22:21:31
Intenta agregando la conexión
1
$result = mysql_query($sql,$link);
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 italo_pm
Val: 997
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET["id"]

Publicado por italo_pm (144 intervenciones) el 29/03/2019 01:35:03
Hola,

1
pero ahora me sale el fallo de Resource id #6.

pero que error es el que te da? solo eso?

el id es solo numerico o texto?

has hecho el echo del id que te llega por get?

estas seguro que te llega por get y no por post?

verifica como se llama el parametro id ya que $_GET['id'] es distinto que $_GET['ID']

has el echo de la variable de la query y fijate como la resuelve.

verifica al definicion de tu campo id, si es int o char o varchar, si es int, get id debe estar sin comillas, si es texto con comillas.

declara en una variable el valor de get id y luego lo pasas a la query.

mas limpia la lectura del codigo, mas facil sera encontrar los errores (o no cometerlos)

un error puede ser esto:

1
2
3
4
5
if(mysql_num_rows($result) == 0)
{
    echo 'Esta categoría no existe.';
    echo $result;
}

no puedes hacer el echo del $result de una query de esa manera, aparte que si no existe para que hacer el echo?? talvez era una test, prueba a borrar o rem ese echo.

por otra parte, si recien estas empezando dale un nombre distintos a tus variables ($sql, $result, $row) para que sea claro y no te de errores

salud2.
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
Val: 22
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET["id"]

Publicado por Javier (7 intervenciones) el 29/03/2019 13:47:02
Si, solo me sale el error de resource id #6.
He comprobado que id es texto también.
Me llega por get y no se exactamente como comprobar como se resuelve la query, llevo poco en esto y aun me cuesta.

He eliminado lo ultimo que has dicho porque tienes razón, no tenia ningún sentido.

Gracias por la ayuda y siento si me explico mal!
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
Val: 22
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET['id']

Publicado por Javier (7 intervenciones) el 29/03/2019 13:03:44
Nada, se va el error del resource pero me sigue diciendo que $result es falso y me entra en el if de 'La categoría no puede mostrarse', aunque no me muestra ningún error de mysql.
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
Val: 22
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET['id']

Publicado por Javier (7 intervenciones) el 29/03/2019 13:04:43
Nada, se va el error del resource pero me sigue diciendo que $result es falso y me entra en el if de 'La categoría no puede mostrarse', aunque no me muestra ningún error de mysql.
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
Val: 22
Ha aumentado su posición en 10 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error consulta $GET['id']

Publicado por Javier (7 intervenciones) el 29/03/2019 14:55:35
Pues al final he conseguido corregir el fallo... y era de principiante.

Le pasaba mal el id, el valor que le daba era erroneo...

Muchas gracias a todos por la ayuda!

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
Revisar política de publicidad