The issues that have been explored so far in this thread are:
1. The HTML specification for checkboxes is not ideal, so many serious web
apps write their own checkboxes. The standard idiom for a graphical checkbox
widget was supplied.
2. @prod_detail and prod_detail are two distinctly different variables. the
former is an instance scoped variable, and the other is method scoped. The @
is actually meaningful in the variable's name.
3. MySQL supports a non-standard boolean type, which SQL-92 compliant RDBMS'
gnererally do not support. The standard idioms for representing booleans in
SQL-92 compliant databases are char(1) constrained to 'Y'/'N', 'T'/'F',
or '1'/'0', or numeric(1) constratined to 1/0.
I don't really know what else there is to cover. At this point, it might be
worthwhile to put "p @prod_detail" and/or "p prod_detail" on every other line
and watch the contents of @prod_detail in your terminal window.