Foros del Web » Programando para Internet » PHP »

where

Estas en el tema de where en el foro de PHP en Foros del Web. Perdonen, tengo el siguiente problema, estoy usando la base de datos mysql 5, y al momento de mandar la siguiente consulta me marca error. $q_clie="select ...
  #1 (permalink)  
Antiguo 23/12/2005, 08:51
 
Fecha de Ingreso: agosto-2004
Mensajes: 71
Antigüedad: 19 años, 8 meses
Puntos: 0
where

Perdonen, tengo el siguiente problema, estoy usando la base de datos mysql 5,
y al momento de mandar la siguiente consulta me marca error.

$q_clie="select id,nombre from clientes where codigo=$clie";
donde $clie'=C-0001.

mandandome el siguiente error.
ERROR 1054 (42S22): Unknown column 'c' in 'where clause'

ahora si lo pongo de la siguiente manera
$q_clie="select id,nombre from clientes where codigo=$clie";

me envia el siguiente error, Empty set (0.00 sec).
no entiendo por que, alguien me podria dar una solucion.


gracias
  #2 (permalink)  
Antiguo 23/12/2005, 08:55
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Prueba de la siguiente forma:
Código PHP:
$q_clie="select id,nombre from clientes where codigo='$clie'"
Nota las comillas simples en $clie. He tenido alguna vez ese problema y asi lo resolvia, espero que a ti te sirva.

Saludos, y feliz navidad.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 23/12/2005, 12:24
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 4 meses
Puntos: 2
Siempre que se inserte un dato de tipo String, se deben usar comillas simples como muy bien indicas, para delimitar la variable. En este caso también es aconsejable usar la función mysql_escape_string(string) para evitar problemas con posibles caracteres de escape de MySQL:

Código PHP:
$q_clie="select id,nombre from clientes where codigo='" mysql_escape_string($clie) . "'"
por ejemplo, si $clie = C-00'42 y no usaras esta función la habrías hecho buena y tardarías un rato en darte cuenta...

Cuando se inserte un dato de tipo int (long, ...) o de tipo float (double...), no son necesarias las comillas, pero se pueden emplear sin problemas.


Moraleja: Ante la duda.......... la más comilluda

Saludos
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 09:41.