提问者:小点点

HTML/PHP上的Noob implode():传入的参数无效~~


我是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():传入的参数无效~~

我做错了什么?


共2个答案

匿名用户

您应该首先验证$_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手册,并确保变量不为空

相关问题