Insert array content into database - php

2019-09-20 17:29发布

问题:

I'm trying to insert in each row of database the variable $num which is an Array. I want to insert each array position in each row of database.

That's the code I have, and in the moment it is inserting the word "Array":

foreach($html2->find('small[class=menu-item__label__count]') as $aholder) {

$holderdes=$aholder->outertext;
}
preg_match_all('!\d+!', $holderdes, $num);
//preg_match_all('/(\([0-9]+)\)/',  $holderdes,$num);

echo print_r($num); 
echo("<script>console.log('PHP: ".$num."');</script>");
$insert="INSERT into spec_insert(designers) VALUES ('".$num."');";

$sql=mysql_query($insert);

if ($sql === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " ;
}
}

回答1:

If you want to insert each array value to a specific column of DB table spec_insert then can use foreach() to retrieve the index value of array. Example

foreach($num as $val):
    if(is_array($val)):
        foreach($val as $v):
            $insert="INSERT into spec_insert(designers) VALUES ('".$v."');";
            $sql=mysql_query($insert);
        endforeach;
    else:
        $insert="INSERT into spec_insert(designers) VALUES ('".$val."');";
        $sql=mysql_query($insert);
    endif;
endforeach;