将数组插入数据库中的不同行

时间:2013-05-28 09:05:35

标签: php mysql arrays

我在将数组插入数据库时​​遇到问题。当我尝试内爆时,它将所有数组插入一行。我打算实现的是将单个数组插入不同的行。 在数组中我有包,鞋,布等字段,我希望插入一个表但不同的行。

$subjectArray[] =$_POST['subject'];
$all_subjects_to_insert = array();
foreach ($subjectArray as $p){
    if(!empty($p)) $all_subjects_to_insert = $p;      
}
$all_subjects_to_insert = array_unique($all_subjects_to_insert);
$final = implode(',',$all_subjects_to_insert);
$query = "INSERT INTO #__sch_subject (subject) VALUES ('$final')";

我会感激任何帮助。感谢。

2 个答案:

答案 0 :(得分:0)

如果$all_subjects_to_insert是多维数组,那么你要找的是

foreach($all_subjects_to_insert as $value)
{
    $query = "INSERT INTO #__sch_subject (subject) VALUES ('{$value}')";
    mysql_query($query);
 }

Reference

答案 1 :(得分:0)

谢谢大家。它现在正在工作。内爆函数的分隔符不正确。这是工作代码

$subjectArray[] =$_POST['subject'];
$all_subjects_to_insert = array();
foreach ($subjectArray as $p){
    if(!empty($p)) $all_subjects_to_insert = $p;      
}
$all_subjects_to_insert = array_unique($all_subjects_to_insert);
$inserted_values = implode("'),('",$all_subjects_to_insert);
print_r($finalvalues);
$query = "INSERT INTO #__sch_subject (subject) VALUES ('$inserted_values')";

使用分隔符,insert命令看起来像这样

$query ="INSERT INTO #__sch_subject (Subject) VALUES ('a'),('b'),('c')";

感谢您的帮助。我真的很感激。