Hola, ya estoy aquí otra vez en busca de ayuda

ahora es con un script de php que sirve para meter datos en mysql, en mi servidor de casa funciona (php 4.3), pero online no, espero que me digáis que es lo q está mal.
Código PHP:
<?php
// Introducir Datos en la base
switch ($datos['apartado'])
{
case piniculas:
$campo="(fecha_intro,
titulo,
titoriginal,
ano,
nacionalidad,
director,
reparto,
genero,
sinopsis,
coment,
duracion,
cds,
codec_video,
codec_audio,
audio1,
audio2,
calidad_video,
calidad_audio,
calif,
poseedor)";
$valores="($fecha_intro,
'{$datos['titulo']}',
'{$datos['titoriginal']}',
'{$datos['ano']}',
'{$datos['nacionalidad']}',
'{$datos['director']}',
'{$datos['reparto']}',
'{$datos['genero']}',
'{$datos['sinopsis']}',
'{$datos['coment']}',
'{$datos['duracion']}',
'{$datos['cds']}',
'{$datos['codec_video']}',
'{$datos['codec_audio']}',
'{$datos['audio1']}',
'{$datos['audio2']}',
'{$datos['calidad_video']}',
'{$datos['calidad_audio']}',
'{$datos['calif']}',
'$nombre')";
break;
[...]
};
// Sentencia SQL
mysql_db_query("baywatch","insert into {$datos['apartado']} $campo values $valores");
echo mysql_error();
?>
-----------------------------
NOTA: tanto $nombre como $fecha_intro son variables q no proceden del array.
-----------------------------
los datos llegan bien, ya que lo he comprobado utilizando esto:
Código PHP:
// Comprobando que recibe bien las variables
foreach ($datos as $indice => $valor){
echo $indice." = ".$valor."<br>";
};
------------------------------
Seguro q es un error de principiante, q es lo q soy al fin y al cabo... pero me gustaría saber pq no funciona.
Bueno, gracias por vuestro tiempo, espero vuestras respuestas.
------------------------------
PD: Pues mucho mejor así es verdad