No sé como ejecutabas tu consulta SQL desde PHP .. pero tal vez no estabas viendo el mensaje de error de Mysql que se estaba produciendo:
Código PHP:
mysql_query($sql) or die (mysql_error());
Probablemente un mensaje de error referente a integridad referencial (indices? .. claves publicas o privadas ..? .. )
Un saludo,