Foros del Web » Programando para Internet » PHP »

Error En Una Consulta PHP con WHERE

Estas en el tema de Error En Una Consulta PHP con WHERE en el foro de PHP en Foros del Web. Foreros buenas tardes. Quisiera me pudieran decir donde tengo el error en esta consulta, parece que fuera que sobraran o faltaran comillas en las variables ...
  #1 (permalink)  
Antiguo 24/08/2016, 13:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 2 meses
Puntos: 0
Error En Una Consulta PHP con WHERE

Foreros buenas tardes. Quisiera me pudieran decir donde tengo el error en esta consulta, parece que fuera que sobraran o faltaran comillas en las variables de sesión. El error que me aparece es el siguiente

Parse error: syntax error, unexpected '$_SESSION' (T_VARIABLE)

Código PHP:
$consulta "SELECT * FROM libros WHERE usuario="$_SESSION['usuario']" AND contrasena="$_SESSION['contrasena']""
Muchas gracias por su ayuda
  #2 (permalink)  
Antiguo 24/08/2016, 14:38
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Error En Una Consulta PHP con WHERE

No tengo tiempo de revisarla pero porque mejor no metes en una variable esas variables ?? (aunque se oiga redundante )

Asi:
Código PHP:
Ver original
  1. $user = $_SESSION['usuario'];
  2. $pass = $_SESSION['contrasena'];
  3.  
  4. $consulta = "SELECT * FROM libros WHERE usuario='$user' AND contrasena='$pass' ";
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #3 (permalink)  
Antiguo 24/08/2016, 14:44
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Error En Una Consulta PHP con WHERE

Hola Kathyu, si ya la había hecho así y me dio perfecto, solo que no quisiera quedarme con la duda de el por qué de el error usando las variables de sesión
  #4 (permalink)  
Antiguo 24/08/2016, 15:03
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Error En Una Consulta PHP con WHERE

Básicamente cortas la cadena con Dobles comillas.

Hace eso de las variables no con una consulta sino con un echo, cuando domines el sagrado arte de las comillas dobles y simples, veras la luz pequeño padawan
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #5 (permalink)  
Antiguo 24/08/2016, 22:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error En Una Consulta PHP con WHERE

OFF TOPIC en los foros de Bases de Datos.
Movido a PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 25/08/2016, 14:17
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Error En Una Consulta PHP con WHERE

Diría que te faltan los puntos para concatenar la cadena. Y seguramente unas comillas adicionales para encerrar el String de la igualdad.

Código PHP:
Ver original
  1. $consulta = "SELECT * FROM libros WHERE usuario="$_SESSION['usuario']" AND contrasena="$_SESSION['contrasena']"";

Código PHP:
$consulta "SELECT * 
FROM libros 
WHERE usuario='"
.$_SESSION['usuario']."' 
AND contrasena='"
.$_SESSION['contrasena']."' 
LIMIT 1"

Añadiría también un limit 1, puesto que viendo la consulta entiendo que sólo debe devolverte un registro máximo.

Supongo que estas haciendo pruebas, pero me resulta raro que el usuario y contraseña se guarden en una tabla llamada libros, :)
__________________
Unset($vida['malRollo']);
  #7 (permalink)  
Antiguo 26/08/2016, 19:36
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Error En Una Consulta PHP con WHERE

Muchas gracias xerifandtomas, me sacaste de la duda, lo ensayé y me quedó perfecto, mil graciaas amigo, ya te deje mi puntuación, un abrazo para vos.
  #8 (permalink)  
Antiguo 27/08/2016, 14:24
 
Fecha de Ingreso: febrero-2008
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: Error En Una Consulta PHP con WHERE

Como para cerrar el tema, siempre es así con la consulta de variables:

$consulta="SELECT columna FROM tabla WHERE columna1= '".$variable."' ";
  #9 (permalink)  
Antiguo 27/08/2016, 14:44
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Error En Una Consulta PHP con WHERE

Cita:
Iniciado por omdsetenta Ver Mensaje
Como para cerrar el tema, siempre es así con la consulta de variables:

$consulta="SELECT columna FROM tabla WHERE columna1= '".$variable."' ";
Bueno depende, en este caso van encerrados entres comillas simples por que se entiende que es un string y delimitarlo, pero si fuese un entero no habria necesidad ni seria recomendable. Aun que esto es mas por tema de BD

Como ejemplo
Código PHP:
$id=25;
$nombre='Perico';

$sql="SELECT * FROM mi_tabla WHERE id=".$id." OR nombre='".$nombre."' LIMIT 1" 
Con id no utilizo las comillas para encerrar el valor, ya que voy a pasar un entero y buscar en un campo int o numerico de la tabla, si pongo las comillas se pasara como un string y mysql tendra que hacer la conversión ya que vamos buscar en un campo int. Por lo tanto no hay necesidad de hacer trabajar al motor de bd innecesariamente.
id=".$id." vs id='".$id."'
__________________
Unset($vida['malRollo']);

Última edición por xerifandtomas; 27/08/2016 a las 14:50

Etiquetas: bases-de-datos-general, usuario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:43.