Yes. Let's try repair it.
Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Choose to Repair Database. If that doesn't help, then try again, this time using Rebuild Database.
If that fails:
Download iPhoto Library Manager and use its rebuild function. (In Library Manager it's the FIle -> Rebuild command)
This will create an entirely new library. It will then copy (or try to) your photos and all the associated metadata and versions to this new Library, and arrange it as close as it can to what you had in the damaged Library. It does this based on information it finds in the iPhoto sharing mechanism - but that means that things not shared won't be there, so no slideshows, books or calendars, for instance - but it should get all your events, albums and keywords, faces and places back.
Because this process creates an entirely new library and leaves your old one untouched, it is non-destructive, and if you're not happy with the results you can simply return to your old one.
Yayyy!! Option 1 (rebuilding the database) worked! Thank you so much!
Whilst you're here, my iPhoto has way too many photos on it I think (and is really slow, mainly when faces is trying to update itself)...so:
1. Is there anyway to turn faces off/ get rid of it completely/ kill it? I absolutely hate the thing.
2. Same with places?
3. I do backup daily with time machine (1TB hard drive), however I've lost loads of things before and I'm not confident in my ability to do anything on a mac anymore!! Basically, is there any way to remove, say, half of my library from my mac (to quicken it up?) and store it only on the hard drive?
Thanks in advance
2. Yes. iPhoto -> Preferences -> Advanced: Look Up Places and choose Never
Make sure the drive is formatted Mac OS Extended (Journaled)
1. Quit iPhoto
2. Copy the iPhoto Library from your Pictures Folder to the External Disk.
Now you have two full versions of the Library.
3. On the Internal library, trash the Events you don't want there
Now you have a full copy of the Library on the External and a smaller subset on the Internal
As a general rule: when deleting photos do them in batches of about 100 at a time. iPhoto can baulk at trashing large numbers at one go.
You can choose which Library to open: Hold down the option (or alt) key key and launch iPhoto. From the resulting menu select 'Choose Library'
You can keep the Library on the external updated with new imports using iPhoto Library Manager