in reply to checkbox and mysql select

$sql = "Select * FROM ?";

Placeholders aren't supported in table and column names. See DBI "drop table" for a recent, related discussion.

Use $sql = "SELECT * FROM " . $dbh->quote_identifier($product); instead.

And I recommend the RaiseError option to connect, which automatically catches DB errors and prints useful error messages.