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