Foros del Web » Programando para Internet » PHP »

ayuda con variable en consulta a base de datos

Estas en el tema de ayuda con variable en consulta a base de datos en el foro de PHP en Foros del Web. Resulta que tomaba unas variables y en base a esas variables realizaba una consulta a la base de datos. Tenia esto: Código PHP: $variable = ...
  #1 (permalink)  
Antiguo 20/07/2008, 19:42
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
ayuda con variable en consulta a base de datos

Resulta que tomaba unas variables y en base a esas variables realizaba una consulta a la base de datos.
Tenia esto:

Código PHP:
$variable=$_GET['idproducto'];
$tabla=$_GET['cargo'];// dependiendo de lo que se envie por esta variable, se elige una u otra tabla de la BD

$sql=mysql_query("SELECT*FROM  $tabla WHERE idproducto=$idproducto, $conexion); 
Lo que pasa es que funcionaba y de pronto comenzo a arrojarme error de sintaxis. Quisiera saber cual es la manera correcta de escribir la consulta para que nunca arroje error, en un servidor que use version 5 de php.

Saludos y Gracias.
  #2 (permalink)  
Antiguo 20/07/2008, 20:09
Avatar de oscarva  
Fecha de Ingreso: agosto-2004
Ubicación: Bogota - Colombia
Mensajes: 425
Antigüedad: 20 años, 3 meses
Puntos: 2
Respuesta: ayuda con variable en consulta a base de datos

Código PHP:
$variable=$_GET['idproducto'];
$tabla=$_GET['cargo'];// dependiendo de lo que se envie por esta variable, se elige una u otra tabla de la BD

$sql=mysql_query("SELECT*FROM  $tabla WHERE idproducto='$idproducto'",$conexion); 

saludos
__________________
Colsitio. Guía de Hosting
  #3 (permalink)  
Antiguo 21/07/2008, 05:14
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: ayuda con variable en consulta a base de datos

No habria que separar el SELECT del * y del FROM? a parte de la correccion que hizo oscarva, claro
  #4 (permalink)  
Antiguo 21/07/2008, 12:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: ayuda con variable en consulta a base de datos

Bueno, la verdad es que estoy bastante perdido, tengo esta consulta en otro sitio
Código PHP:
$sql=mysql_query("SELECT*FROM registro WHERE usuario='".$login."'"$registro
y me funciona ok, pero cuando uso la misma manera de escribirlo en el otro sitio, con el mismo servidor y version de php me arroja el error de sintaxis y no he tocado nada de la configuracion de php.

Código PHP:
$sql=mysql_query("SELECT*FROM $tabla WHERE idproducto='".$idproducto."'"$conexion
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 'WHERE idproducto='''
  #5 (permalink)  
Antiguo 21/07/2008, 13:01
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: ayuda con variable en consulta a base de datos

Cita:
Iniciado por Ruben_C Ver Mensaje
Bueno, la verdad es que estoy bastante perdido, tengo esta consulta en otro sitio
Código PHP:
$sql=mysql_query("SELECT*FROM registro WHERE usuario='".$login."'"$registro
y me funciona ok, pero cuando uso la misma manera de escribirlo en el otro sitio, con el mismo servidor y version de php me arroja el error de sintaxis y no he tocado nada de la configuracion de php.

Código PHP:
$sql=mysql_query("SELECT*FROM $tabla WHERE idproducto='".$idproducto."'"$conexion
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 'WHERE idproducto='''

asegurate que $tabla e $idproducto tienen los datos que tu quieres que tengan
  #6 (permalink)  
Antiguo 21/07/2008, 13:05
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: ayuda con variable en consulta a base de datos

Los tienen, de hecho se los paso directamente para probar
Código PHP:
<a href= "prueba.php?idproducto=<?php echo "130"?>cargo=<?php echo "santiago"?>">prueba<a/>
  #7 (permalink)  
Antiguo 21/07/2008, 13:16
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 17 años, 5 meses
Puntos: 49
Respuesta: ayuda con variable en consulta a base de datos

Que tal Ruben_C, prueba así tu código:

Código PHP:
<a href= "prueba.php?idproducto=<?php echo "130";?>&cargo=<?php echo "santiago";?>></a>

Saludos.
  #8 (permalink)  
Antiguo 21/07/2008, 14:40
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: ayuda con variable en consulta a base de datos

hola, los del server me dijeron que era un problema de programacion mysql y de cache y que creara una nueva cuenta de prueba

Código PHP:
$sql=mysql_query("SELECT*FROM  $tabla WHERE idproducto=$idproducto, $conexion); 
,pero resulta que ahora en local me arroja el error de sintaxis, por lo tanto tiene que ser un error en mi consulta.

bueno, tocara leerme algun manual.
  #9 (permalink)  
Antiguo 21/07/2008, 17:11
Avatar de jago86  
Fecha de Ingreso: abril-2008
Ubicación: Ibarra - Ecuador
Mensajes: 77
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: ayuda con variable en consulta a base de datos

Señores me atrevería a decir que el error está en en la consulta, si el campo idproducto es de tipo INT (entero) entonces el WHERE debe ir así sin comillas simples encerrando el valor del idproducto:

("SELECT*FROM $tabla WHERE idproducto=".$idproducto, $conexion)

en vez de

("SELECT*FROM $tabla WHERE idproducto='".$idproducto."'", $conexion)
__________________
echo "i > u"
  #10 (permalink)  
Antiguo 22/07/2008, 00:28
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: ayuda con variable en consulta a base de datos

El problema es que el valor de idProducto lo estás cargando sobre $variables, y luego al hacer la consulta utilizas $idProducto, que no existe.
  #11 (permalink)  
Antiguo 22/07/2008, 07:48
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: ayuda con variable en consulta a base de datos

Cita:
Iniciado por jago86 Ver Mensaje
Señores me atrevería a decir que el error está en en la consulta, si el campo idproducto es de tipo INT (entero) entonces el WHERE debe ir así sin comillas simples encerrando el valor del idproducto:

("SELECT*FROM $tabla WHERE idproducto=".$idproducto, $conexion)

en vez de

("SELECT*FROM $tabla WHERE idproducto='".$idproducto."'", $conexion)
eso da igual, aunque sea un campo numerico y lo pones entre comillas, lo coge igual.

Volviendo al tema... Lo que no admite, es lo que dije hace unos mensajes mas arriba, el SELECT, el * y el FROM NO PUEDEN ESTAR JUNTOS!!!!

tambien decir, que la respuesta de carlojas, es correcta, ya que el enlace, lo tienes mal creado, falta un & (mejor si lo haces asi: &amp;) y la respuesta de juanfuentes, es tambien correcta, ya que hace la asignacion del GET a $variable, y luego usas $idproducto.

revisa esos puntos y solucionara varios problemas que tienes en el codigo :)
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 21:36.