Foros del Web » Programando para Internet » PHP »

Recuperar contenido alfanumerico

Estas en el tema de Recuperar contenido alfanumerico en el foro de PHP en Foros del Web. Hola Amigos: Quisiera que me orienten un poco. Tengo una base en MySql con el campo IDPedido tipo VARCHAR entre otros. Y con el siguiente ...
  #1 (permalink)  
Antiguo 03/02/2009, 15:06
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 0
Recuperar contenido alfanumerico

Hola Amigos:
Quisiera que me orienten un poco.

Tengo una base en MySql con el campo IDPedido tipo VARCHAR entre otros.

Y con el siguiente código recupero los pedidos ingresados con anterioridad

$NroPedido = $_GET['id'];
mysql_select_db($database, $base);
$query_Pedidos = "SELECT * FROM tabla_pedidos WHERE IDPedido =$NroPedido";

Mientras que los datos no contenían letras, todo funcionaba correctamente hasta que ese día llego, graba correctamente los datos pero me da error cuando los quiero recuperar…

Ej.
12345 ok
12345/1 ok
12345/1R Unknown column '1R' in 'where clause'
ABCD Unknown column 'ABCD' in 'where clause'

Probé colocando $NroPedido entre comillas y no funciona.
Agradecería si me pueden orientar para saber cual es mi error.

Atentamente
Alejandro
  #2 (permalink)  
Antiguo 03/02/2009, 16:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Recuperar contenido alfanumerico

Tu query debería ser así:
Código php:
Ver original
  1. $query_Pedidos = "SELECT * FROM tabla_pedidos WHERE IDPedido='$NroPedido'";

Saludos
  #3 (permalink)  
Antiguo 04/02/2009, 13:02
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Recuperar contenido alfanumerico

Gracias GatorV por contestar.

Si, en el modulo PedidoAct.php probé con comillas simples y dobles y obtengo el mismo resultado.

Como dato adicional llamo a este modulo de la siguiente manera…
http://localhost/sineco/CtrlServWEB/pedidos/PedidoAct.php?id=122112/5R

y da Unknown column '5R' in 'where clause'

y como prueba le agrego comillas antes ..
http://localhost/sineco/CtrlServWEB/pedidos/PedidoAct.php?id=’122112/5R’

y obtengo
\'122112/5R\'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 'LIMIT 0, 30' at line 1

Estoy perdido…

Mi duda es, si acepta la barra /, que no es un numero, por que no acepta una letra ?

Bueno gracias nuevamente.
Alejandro
  #4 (permalink)  
Antiguo 04/02/2009, 13:17
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Recuperar contenido alfanumerico

1- No agregues las comillas en la URL, sino en tu consulta
2- Te acepta la diagonal porque interpreta 122112/5 como una division y, cuando agregas una letra, entonces falla, es normal, porque los datos no numericos deben ir entre comillas
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 04/02/2009, 14:19
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Recuperar contenido alfanumerico

Ejemm solucionado, el problema era que desde la tabla pedidos busco reparaciones, en este ultimo me faltaban las comillas (sin comentarios…)

$query_Pedidos = "SELECT * FROM $tabla_pedidos WHERE IDPedido='$NroPedido'";

$IDP= $row_Pedidos['IDPedido'];
$query_Reparaciones = "SELECT * FROM tabla_reparaciones WHERE IDPedidoRep = '$IDP'";


Nuevamente gracias.
Alejandro
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 07:30.