从会话中保存的数组中插入多行到表中?

时间:2013-08-20 01:28:14

标签: php mysql arrays session-variables

我通过php使用一个insert命令将存储在会话变量中的多个状态值传递到MySQL表中,我想知道是否可以将每个状态值插入到不同的行中。我还在一个变量中保存了一个ID,我想在每个州插入一个变量。

$campaign_id

每个州都存储在此会话变量中。

print_r($_SESSION['stateslist']);

假设我在$_SESSION['stateslist'](纽约,加利福尼亚州)和广告系列ID 5中保存了两个状态,我希望我的数据库看起来像这样

campaign_id    state
   5             NY
   5             CA

我知道它与此insert multiple rows via a php array into mysql类似,但我在插入会话中保存的每个州以及campaign_id时遇到问题。

1 个答案:

答案 0 :(得分:0)

以下是我从该答案中获得的所需版本

$tags = explode(',', $_SESSION['stateslist']);

$sql = array(); 
$counter=0;
foreach( $tags as $row ) {
    $counter++;
    $sql[] = '("'.$row.'", '.$campaign[counter].')';

假设您有一个包含所有相应广告系列ID的广告系列数组

}
mysql_query('INSERT INTO table (state, campaign_id) VALUES '.implode(',', $sql));