Si se puede hacer con una sola consulta usando join como te ha dicho... pero antes tienes un error de diseño en la tabla directores....
La relación pelicula-director es n:m puesto que una pelicula puede tener varios directores y un director puede haber dirigido varias peliculas... Si quieres te concedo que hagas la reduccion de que una pelicula siempre tendrá un solo director... aún suponiendo esto sigues con un error de diseño
Si la relacion es N:M necesitas tres tablas Peliculas
idPelicula
titulo
...
RelPeliculasDirectores
idPelicula
idDirector
Directores
idDirector
nombre
...
esta estructura permite que una pelicula tenga n directores y que un director haya dirigido m peliculas minimizando el espacio de almacenamiento de datos.
Si la relación es 1:N
Necesitas dos tablas como ya tienes pero con los identificadores de relacion donde toca
Peliculas
idPelicula
titulo
idDirector
...
Directores
idDirector
Nombre
...
esto permite saber el director de cada pelicula, sin tener que duplicar directores en su tabla. Tu tenias el idPelicula en la tabla directores lo que te obligaba a repetyir los datos del director para cada pelicula que haya dirigido.
La misma explicación se podria aplicar a la relacion entre peliculas y generos... pero vamos a suponer que con genero y subgenero tienes bastante.
Código MySQL:
Ver original ((fichas f
INNER JOIN generos gg
ON f.genero_ficha
=gg.id_genero
) INNER JOIN generos sg
ON f.subgenero_ficha
=sg.id_genero
) ON p.idPelicula
=f.id_ficha_pelicula
) INNER JOIN videos v
ON p.idPelicula
=v.id_video_pelicula
WHERE p.url_pelicula
= '$url_pelicula';
Aquí la solución para el caso en que solo tengas un director por pelicula....
Esto te dara todos los campos te todas las tablas... no te gustará el resultado por que te va a repetir los datos de una pelicula tantas veces como videos tengas...
Yo te aconsejo que trates el resultado en la programacion externa para mostrar loque quieres... directemente en mysql .... deberías usar
group concat sobre los videos ... pero no es estandar y a mi no me gusta.
Usa LEFT JOIN si alguno de los campos no tiene contenido....