Only a few possible causes,
1) crank sensor has failed,check wiring to it and also remove it and check for swarf.
To remove it there is an allen bolt that faces towards the front of the car,undo this and then the sensor just pulls out /it is an interference fit in the bell housing due to 4 thick ribs on its body.DO NOT UNDO THE BOLT THAT HOLDS THE SENSORS CAGE TO THE ENGINE BLOCK AS THIS HAS TO BE DISTANCE SET FROM THE FLYWHEEL WITH SPECIAL TOOL IF REMOVED.
2) The number 4 injector with the wire coming from it has a 'lift needle sensor' built into it,the ecu reads the crank sensor for engine position and then gets a signal from the number 4 injector each time it receives a pulse of fuel,from the two sensors 'crank and injector' the ecu can time the firing of the injector pump correctly.
No signal from this injector will be same as crank sensor,dash light on and no start.
Check it is plugged in ok as it may be loose,if it is leaking fuel from where the wires go into it this usually means it has had it.
If the wire is chafed or cut you can solder it for a repair and it will work ok,I have done it
3) there are about 3 fuses in the main fuse box for the engine management so check them out.
4) other than injector pump wiring that has come adrift (fuel pressure regulator wiring at base of pump near oil filter canister) and the main injector pump connection which is under inlet manifold behind injector pump on the main harness,and this is a round plug that just screws up tight.
5) your car is a 3 series so check the ecu compartment for water damage or possibly still full of water,the water drains get blocked and then either rain water or washing the car floods the compartment.
Ecu can be dried out most times to no detrimental effect.