DELETE...WHERE... IN(..)

lmmj
13 de Octubre del 2005
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 con la opcion del tipo:
input type='checkbox' name='campos[$id]'

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 pra ejecutar DELETE... IN?

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

De antemano muchas gracias.

lmmj