我是html,mysql和php的新手,我需要一些帮助
在html上,我创建了3个复选框,并将它们命名为“usertime[]”
<label for = "day">Day Time (12:00~16:00)</label>
<input id = "day" type = "checkbox" value = "Day" name ="userTime[]"></br>
<label for = "dinner">Dinner (16:00~20:00)</label>
<input id = "dinner" type = "checkbox" value = "Dinner" name ="userTime[]"></br>
<label for = "night">Night (20:00~)</label>
<input id = "night" type = "checkbox" value = "Night" name ="userTime[]"></br>
然后我通过phpMyadmin创建了一个数据库,并将一行userTime配置为Type:varchar(10)。 我想要数据库中的所有检查值,所以我尝试了
$userTime = implode(',',$_POST['userTime']);
$sql = "insert into member (userTime) values ('$userTime')";
但是这仍然给我错误:implode():传入的参数无效~~
我做错了什么?
您应该首先验证$_post['user time']
是否是数组,因为implode()中的第二个参数必须是数组
你可以试试这个
if(is_array($_POST['userTime'])){
$userTime = implode(',',$_POST['userTime']);
$sql = "insert into member (userTime) values ('$userTime')";
} else {
// Handle Error
}
参考:PHP手册-Implode()
在https://www.php.net/manual/en/function.implode.php上查看Inmpode手册,并确保变量不为空