PHP - Problema PHP y SQL

   
Vista:

Problema PHP y SQL

Publicado por jorge (6 intervenciones) el 03/09/2012 16:52:47
Buenas, el problema que tengo es el siguiente.
Tengo una cookie creada con anterioridad, cuyo nombre es 'nombre' y cuyo valor de prueba es 'jorge'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
  $alumno=$_COOKIE['nombre'];
  $link = @mysql_connect("db430266650.db.1and1.com", "xxxxxx","xxxxxx");
  @mysql_select_db("db430266650", $link);
  $query="SELECT * FROM ausyret WHERE alumno='$alumno'";
  $result = mysql_query($query,$link)or die(mysql_error());
  $numero = 0;
  while($row = mysql_fetch_array($result))
  {echo "<tr><td width=\"25%\"><font face=\"verdana\">" .
	    $row["alumno"] . "</font></td>";
    echo "<td width=\"25%\"><font face=\"verdana\">" .
	    $row["fecha"] . "</font></td>";
    echo "<td width=\"25%\"><font face=\"verdana\">" .
	    $row["tipo"] . "</font></td>";
    echo "<td width=\"25%\"><font face=\"verdana\">" .
	    $row["comentario"]. "</font></td></tr>";
    $numero++;
  }
  echo "<tr><td colspan=\"15\"><font face=\"verdana\"><b>Total: " . $numero .
      "</b></font></td></tr>";
 
  mysql_free_result($result);
  mysql_close($link);
?>


Este es el codigo de la pagina php que me da problemas. la idea es que haga un select from where filtrando gracias a el valor de la cookie, que previamente he descargado en la variable $alumno.
El caso es que cuando lo ejecuto me salta esto tal cual:
1
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 1


Supongo que el error esta en las comillas simples y dobles, porque siempre acabo con la picha echa un nudo con las comillas, pero no se donde exactamente.
Alguna solucion? Gracias por adelantado.

P.D.: La conexion con la db esta bien, ya que si quito la condicion WHERE me lista bien la tabla, pero no quiero qe aparezca todo, quiero filtrarlo.
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

Problema PHP y SQL

Publicado por xve (5519 intervenciones) el 03/09/2012 17:37:21
Hola Jorge, el error que te da es de sintaxis, pero no veo donde puede estar el error.. lo único que se me ocurre, es que la variable $alumno contenga un apostrofe... si haces:
1
exit($alumno);

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

Problema PHP y SQL

Publicado por jorge (6 intervenciones) el 03/09/2012 20:49:11
donde inserto la linea esa de codigo?
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

Problema PHP y SQL

Hola Jorge, probalo harcodeado, con un nombre real que tengas en la base de datos para ver si funciona. Quizas sea que no estas levantando bien la cookie.

Tambien, al principio del codigo podes hacer

var_dump($_COOKIE['nombre']);
die;

para ver el valor que pones en la consulta

Saludos,
Fernando
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

Problema PHP y SQL

Publicado por xve (5519 intervenciones) el 04/09/2012 07:14:17
Puedes ponerla debaja mismo de:
$alumno=$_COOKIE['nombre'];

aunque lo que comenta Fernando también es buena idea...

Coméntanos que te aparece 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

Problema PHP y SQL

Publicado por jorge (6 intervenciones) el 04/09/2012 11:20:29
string(5) "jorge"
esto me 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

Problema PHP y SQL

Probaste harcodeado para ver si funciona?

Tambien podes imprimir la consulta para ver el error de sintaxis, que es el error que te tira mysql.
Despues de la linea

$query="SELECT * FROM ausyret WHERE alumno='$alumno'";

pones

print_r($query);
die;

y tendria que decirte esto

SELECT * FROM ausyret WHERE alumno='jorge'

Esto lo podrias probar asi, sin variables (harcodeado) para ver que sucede
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

Problema PHP y SQL

Publicado por jorge (6 intervenciones) el 04/09/2012 18:00:40
Buenas.
Pues el caso es que no se que he cambiado que ya funciona. al final quedo asi:

1
$query="SELECT * FROM ausyret WHERE alumno='$alumno'";


gracias por su 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

Problema PHP y SQL

Publicado por jorge (6 intervenciones) el 04/09/2012 18:03:44
Otra cosa, hay alguna manera de ocultar los datos de conexion de la db? porque si alguien ve el codigo fuente los sabra y creo que a nadie le interesa.
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

Problema PHP y SQL

Publicado por xve (5519 intervenciones) el 04/09/2012 19:02:08
Has hecho ver código fuente?
Veras que solo se visualiza el código html, nada de php, ya que el php se ejecuta en el servidor.
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

Problema PHP y SQL

Publicado por jorge (6 intervenciones) el 04/09/2012 22:44:04
me fije justo despues de hacer la pregunta xD
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