This can be one of a few things. Either a bad starter, ignition switch, neutral safety switch, or wiring problem.
First, check to make sure your battery
is fully charged and your battery cables are tight and free of corrosion. If they are loose or corroded, this will cause intermittent starting issues and you should clean them before trying anything else.
If not, lets check the starter: while someone is holding the key in the "crank" position tap on the starter with a hammer and if the engine
begins to turn over, you have a bad starter. Another way to check is with a test light. With the test light, you should have power at the single (thin) wire going to the starter with the key in the "crank" position. If so, you have a bad starter, if not, you have another problem.
Many times you can rule out a neutral safety switch problem by wiggling the shifter in park and neutral while holding the key in the "crank" position. If the car begins to turn over then you have a bad neutral safety switch.
If you still have the issue it could be a problem with wiring or your ignition switch, but these failures are very uncommon.
I hope this helps! Let me know if you have any more questions!