Corrupt data most likely.
You can try this to fix it, but it may take a wee while!
Firstly, you need to get your ps3 into recovery mode.
Make sure your TV is on the correct input for the ps3 and the ps3 is in standby mode.
Turn on your ps3 using the standby button but keep your finger held on the button until the console turns off. Wait a few seconds.
Press and hold the button again, THIS IS THE IMPORTANT BIT, you will hear a 'beep' as the console boots up, then shortly after you will hear two quick beeps, as soon as you hear the two quick beeps, take your finger off of the button.
You should now have a message on the screen telling you to plug in a controller and press the PS button, do it.
You should now have a list of options on the screen.
The ones you need are...
3. Restore File System
This will rewrite the files the PS3 uses to boot. This feature will help if files have become corrupted and are not allowing the console to boot as normal. This should not erase any of your saved data or settings.
4. Rebuild Database
This can be a useful feature if you have lost files on your system for no apparent reason. Try using this feature to see if it can restore those files. This will also rewrite corrupted files within the database, potentially eliminating future issues. This feature should not erase any of your saved data or settings.
If your ps3 still doesn't boot, you need to use this menu again to install the update from a USB drive.
Go to the PlayStation website for your region and download the most recent update to your PC, get a USB drive (formatted to FAT32) and on this drive, make a folder called PS3 (it has to be caps) in this folder make another one named UPDATE, put the update file in this folder.
Have your ps3 on standby, insert the USB drive, boot up in recovery mode again and select the 6th option - System Update.
This will update the system without the need for it to be fully booted up.
Hope this helps.