y no sería más sencillo depurarlo y hacer un echo de las variables que estás concatenando es decir:
Código PHP:
echo "$c_unidad<BR>";
echo "$c_materia<BR>";
y si no hay nada raro, tambien podrías hacer esto
Código PHP:
$sql = "insert into encuesta ".
"(c_unidad, c_profesor, c_materia, ".
"p1, p2, p3, p4,p3,p4,p5,p6,p7,p8,p9,p10,p11,".
"p12,p13,p14,p15,p16,p17,p18) values($valores) ";
echo $sql;