Como inserir vários valores de checkbox de seleção em um database

Eu tenho trabalhado nisso e pesquisando na Web e chegando vazio durante a melhor parte de dois dias. Com muito suor, eu posso inserir um valor de checkbox em um DB; no entanto, se eu verificar mais checkboxs, ele ainda irá inserir apenas um valor.

Aqui está o meu código que estou usando na página do usuário de input (com as tags de formulário excluídas):

 ActionScript
AppleScript

Agora eu estou agarrando duas variables ​​de session para criar a habilidade selecionada para o usuário que iniciou session:

  $skills = $_POST['skills']; $id = $_SESSION['Ind_ID']; 

Aqui está o código em que há algum erro pequeno em:

 for ($i=0; $i<sizeof($skills);$i++) { // echo $skills[$i]; $query= "INSERT INTO individual_skills(Skills_ID,Ind_ID) VALUES (" .$skills[$i]. ", ".$_SESSION['Ind_ID'].")"; } 

Com minhas habilidades de echo $ [$ i], posso ver que estou fazendo loop e posso exibir tantas inputs de usuários na canvas; Então, essa é a boa notícia.

O problema é que não consigo inserir mais de um valor em um database . Eu posso fazer um valor por vez; mas, não mais de um.

Parece que minha consulta está bem próxima. Funciona perfeitamente se eu escolher selecionar apenas uma checkbox de seleção; no entanto, se eu selecionar mais de um, ele só insere o último valor (então, se eu tiver 10 valores selecionados, ele irá inserir o último valor no DB).

Qualquer ajuda, muito apreciada.

Estou usando PHP e MySQLi

ACTUALIZADO COM BASE NO FEEDBACK PARA LOOP Aqui está o loop atualizado. Eu tenho a consulta fora do loop, e agora tentando APPEND para minha consulta inicial. O erro diz que algo está errado com a syntax da consulta.

 $query= "INSERT INTO individual_skills(Skills_ID,Ind_ID) VALUES (" .$skills[$i]. ", ".$_SESSION['Ind_ID'].")"; for ($i=0; $i<sizeof($skills);$i++) { //echo $skills[$i]; $query.= " VALUES (" .$skills[$i]. ",".$_SESSION['Ind_ID'].")"; } 

Pense sobre o que seu código está fazendo. Cada loop, você está redefinindo a variável $query , de modo que, quando chegar ao final, o valor final de $query será o último que você verificou.

Se você ainda quiser usar a mesma lógica de loop que você escreveu, provavelmente não é a maneira mais eficiente, então você precisaria executar a consulta cada vez dentro do loop, para que cada consulta que você escreva será executada.

Mais precisamente, a confusão parece ser decorrente do fato de você não ter descoberto a diferença entre atribuir um valor a uma variável e passar uma variável para uma function para execução.