我正在使用复选框来查看用户是否想要“早餐,晚餐和晚餐”
这是我的代码
<div id="checkboxesFood">
<p>Please select if you want breakfast, dinner and supper</p>
<input type="checkbox" class="food" name="foodboxes[]" value="Breakfast"/>Breakfast
<input type="checkbox" class="food" style="margin:0 0 0 19%;" name="foodboxes[]" value="Dinner"/>Dinner
<input type="checkbox" class="food" style="margin:0 0 0 19%;" name="foodboxes[]" value="Supper"/>Supper
</div>
我正在使用PHP连接到数据库并将值存储在那里。
这是我的PHP代码
$username = $_POST['userName']; //Username
$view = $_POST['roomChoice']; //View Of Room
$paymentMethod = $_POST['payment']; //How user want's to pay
$selectedFood = $_POST['foodboxes']; //Food they have selected(Breakfast, Dinner or Supper)
//$foodData = array($selectedFood);
$con = new mysqli('localhost','username','mypw','DB');
if($con->connect_error){
die("Connection failed: " .$con->connect_error);
}
//$implodedData = implode(",",$foodData);
$sql = "INSERT INTO Hotellbokning(Name,Room,Food,Payment) VALUES('$username','$view','$implodedData','$paymentMethod')";
if($con->query($sql) == true){
echo "You did it John!";
}
else{
echo "Error: " . $sql . "<br/>" .$con->error;
}
只需忽略不是问题的变量即可。当我将此数组
$selectedFood
插入数据库时,我在Food字段中接收到“ Array”值。是否有办法在PhpMyAdmin中查看此数组的值(三个值Breakfast,Dinner和Supper),还是只能从数据库中回显它们?
附言我尝试使用爆破功能,但没有用。我也尝试过
$foodData = array($selectedFood)
,但也没有用。 最佳答案
你内lo是错的。 $selectedFood
已经是一个数组,您无需将其包装在另一个数组中。所以应该是:
$implodedData = implode(',', $selectedFood);
然后,您可以将
$implodedData
存储在数据库中。但是,将逗号分隔的列表放在数据库中通常是较差的设计。您应该为每个项目使用一个带有单独行的关系表。