for booleans i typically use a CHAR(1) field that defaults to NULL and use a "Y" for true and NULL for false. a simple example:
<?php
$checkboxes = array(
'aaa',
'bbb',
'ccc',
'ddd',
'eee'
);
if (!isset($_POST['submit']))
{
echo '<form action="" method="POST">';
foreach ($checkboxes as $value)
{
echo '<input type="checkbox" name="checkboxes[' . $value . ']" value="Y"> ' . $value . '<br>';
}
echo '
<input type="submit" name="submit" value="submit">
</form>
';
}
else
{
foreach ($checkboxes as $value)
{
if (isset($_POST['checkboxes'][$value])) {$sql_array[] = $value . " = 'Y'";}
else {$sql_array[] = $value . ' = NULL';}
}
$sql = 'INSERT INTO table SET ' . implode(', ', $sql_array);
echo $sql;
}
?>