【发布时间】:2014-11-18 19:55:00
【问题描述】:
我有一个 html 页面,其中有一个表单并将结果保存到 MySQL。问题是该复选框仅在 MySQL 表上保存一个值。为了在 db 列中保存多个值,我该怎么做?
HTML 代码:
<fieldset>
<input type = "checkbox" name = "rating[]" value = "Homepage">Homepage
<input type = "checkbox" name = "rating[]" value = "Facilities"> Facilities
<input type = "checkbox" name = "rating[]" value = "Reservation"> Reservation
<input type = "checkbox" name = "rating[]" value = "Contact"> Contact
<input type = "checkbox" name = "rating[]" value = "current"> The current one
</fieldset>
PHP 代码:
$con=mysqli_connect("xxx","zzz","yyy","xxx");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$firstname = mysqli_real_escape_string($con, $_POST['firstname']);
$lastname = mysqli_real_escape_string($con, $_POST['lastname']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$address = mysqli_real_escape_string($con, $_POST['address']);
$postcode = mysqli_real_escape_string($con, $_POST['postcode']);
$country = mysqli_real_escape_string($con, $_POST['country']);
$phonenumber = mysqli_real_escape_string($con, $_POST['phonenumber']);
$rating = mysqli_real_escape_string($con, $_POST['rating_value']);
$subscribe = mysqli_real_escape_string($con, $_POST['subscribe']);
for($i=0; $i<count($rating); $i++) { $rating_value &= $rating[$i];}
$sql="INSERT INTO customers (firstname, lastname, password, email, address, postcode, country, phonenumber, rating, subscribe)
VALUES ('$firstname', '$lastname', '$password', '$email', '$address', '$postcode','$country', '$phonenumber', '$rating_value', '$subscribe')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo " Success!";
【问题讨论】:
-
$rating = mysqli_real_escape_string($con, $_POST['rating_value']);是否将数组转换为字符串?
标签: php mysql arrays checkbox insert