问题
I'm passing multiple state values that are stored in a session variable, into a MySQL table via php using one insert command and I'm wondering if its possible to insert each state value into a different row. I also have an ID saved in a variable that I would like to insert with each state.
$campaign_id
Each state is stored in this session variable.
print_r($_SESSION['stateslist']);
Assuming I have two states saved in the $_SESSION['stateslist']
(NY, CA) and campaign ID 5, I would like my database to look like this
campaign_id state
5 NY
5 CA
I know it is something similar to this insert multiple rows via a php array into mysql but I am having problems inserting each state saved in the session as well as the campaign_id.
回答1:
Here is my adopted version of what you want from that answer
$tags = explode(',', $_SESSION['stateslist']);
$sql = array();
$counter=0;
foreach( $tags as $row ) {
$counter++;
$sql[] = '("'.$row.'", '.$campaign[counter].')';
Assuming here that you have a campaign array that contains all the corresponding campaign ids
}
mysql_query('INSERT INTO table (state, campaign_id) VALUES '.implode(',', $sql));
来源:https://stackoverflow.com/questions/18325598/insert-multiple-rows-from-array-saved-in-a-session-into-table