Insertar varias filas de la matriz guardada en una sesión en la tabla?

Estoy pasando múltiples valores de estado que están almacenados en una variable de sesión, en una tabla MySQL a través de php usando un comando de inserción y me pregunto si es posible insertar cada valor de estado en una fila diferente. También tengo un ID guardado en una variable que me gustaría insertar con cada estado.

$campaign_id 

Cada estado se almacena en esta variable de sesión.

 print_r($_SESSION['stateslist']); 

Asumiendo que tengo dos estados guardados en $_SESSION['stateslist'] (NY, CA) y en la campaña ID 5, me gustaría que mi base de datos se vea así

 campaign_id state 5 NY 5 CA 

Sé que es algo similar a esto insertar varias filas a través de una matriz php en mysql pero estoy teniendo problemas para insertar cada estado guardado en la sesión, así como el campaign_id.

Aquí está mi versión adoptada de lo que quieres de esa respuesta

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

Suponiendo que tiene una matriz de campaña que contiene todos los ID de campaña correspondientes

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