我通过打印$_POST['fruits'];
Array
(
[0] => Apple
[1] => Mango
[2] => Grapes
)
我希望从此数组中提取值并将其保存在数据库中。我试过这个
foreach($fruit_array as $fruits)
{
$sql="INSERT INTO fruits(fruitname) VALUES ('$fruit_array')";
if (mysqli_query($con, $sql))
{
echo "success";
}
else
{
echo "Error updating record: " . mysqli_error($con);
}
}
答案 0 :(得分:3)
这是错误的,你的foreach概念不明确,试试这个:
foreach($fruit_array as $fruits) {
$sql="INSERT INTO fruits(fruitname) VALUES ('$fruits')";
if (mysqli_query($con, $sql)) {
echo "success";
} else {
echo "Error updating record: " . mysqli_error($con);
}
}
答案 1 :(得分:3)
使用implode()
。
$fruits = "('" . implode("'), ('", $fruit_array) . "')";
$sql="INSERT INTO fruits(fruitname) VALUES $fruits";
无需额外的循环。
答案 2 :(得分:0)
您将整个数组作为值,而不是单个值。
$sql = "INSERT INTO fruits(fruitname) VALUES ('$fruits')";
答案 3 :(得分:-1)
$fruits = $_POST['fruits'];
现在你有$ fruits中的数组 然后像
一样使用它foreach($fruits as $fruit_array)
{
$sql="INSERT INTO `fruits`('fruitname') VALUES ('$fruit_array')";
if (mysqli_query($con, $sql))
{
echo "success";
}
else
{
echo "Error updating record: " . mysqli_error($con);
}
}
现在值已插入为数组
插入lopp是个坏主意。所有项目都可以插入一个查询中
所以你应该使用implode()
。
$fruit_array = "('" . implode("'), ('", $fruits) . "')";
$sql="INSERT INTO fruits(fruitname) VALUES $fruit_array ";