Foros del Web » Programando para Internet » PHP »

Eliminación de múltiples registros con checkbox

Estas en el tema de Eliminación de múltiples registros con checkbox en el foro de PHP en Foros del Web. Saludos, Tengo un problema con la generación de una sentencia sql para la eliminación de múltiples registros con checkboxes en mysql con php. Genero de ...
  #1 (permalink)  
Antiguo 13/10/2005, 11:07
 
Fecha de Ingreso: octubre-2005
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Mensaje Eliminación de múltiples registros con checkbox

Saludos,

Tengo un problema con la generación de una sentencia sql para la eliminación de múltiples registros con checkboxes en mysql con php.

Genero de manera automatica un formulario del tipo:
input type='checkbox' name='campos[$id]'

Este formulario pasa los valores seleccionados al arreglo $ListaUsuarios mediante la instruccion:
$ListaUsuarios=array_keys($_POST['campos']);
Posteriormente se usa en la creación de la sentencia sql.

En un principio me funcionó perfectamente (¿o fue mi imaginación?), sólo que al pasar al desarrollo de otro script y regresar posteriormente a hacer pruebas, ejecuté nuevamente el código y me envía un error.

La sentencia sql es generada mediante el siguiente código:
$Eliminando="DELETE FROM CAT_USERS where str_usr IN (".implode(',',$ListaUsuarios).")";

quedando como resultado lo siguiente:
DELETE FROM CAT_USERS WHERE str_usr IN (abc,abcd)

generando el siguiente error al ser ejecutada en mysql:
"MySQL ha dicho:
Unknown column 'abc' in 'where clause'
"

"abc y abcd" son valores contenidos en el campo 'str_usr' de mi tabla.

No entiendo como es que pudo funcionar en algún momento y posteriormente no funcionar. ¿Pude haber modificado algún permiso de la bd para ejecutar DELETE... IN?

Espero que alguien me pueda ayudar con este pequeño problema.

De antemano muchas gracias.

lmmj
  #2 (permalink)  
Antiguo 13/10/2005, 16:37
 
Fecha de Ingreso: septiembre-2002
Ubicación: México
Mensajes: 356
Antigüedad: 15 años, 3 meses
Puntos: 0
Idea

Bueno, no es que sea yo muy bueno en SQL ni mucho menos, pero no es mas bien que necesitas meterla unas ' ' para separar las cadenas de texto dentro de la sentencia?

DELETE FROM CAT_USERS WHERE str_usr IN ('abc','abcd');

Saludos!!
  #3 (permalink)  
Antiguo 13/10/2005, 20:43
 
Fecha de Ingreso: octubre-2005
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Efectivamente

Tienes razón, muchas gracias...
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 10:45.