Insert multiple rows from array saved in a session into table?

我只是一个虾纸丫 提交于 2019-12-04 05:55:55

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!