Te está llegando un dato vacío.
Verifica con
Código PHP:
echo "UPDATE productos SET nombre='$nombre', categoria='$categoria' WHERE id_producto=$id";
para que veas que está haciendo la consulta.
con
Código PHP:
var_dump($_POST);
para que veas que estás enviando a la consulta.