Databases are the best way to store most types of data, as they are exceptionally fast, multi-user, and take a lot of hassle away from you.
SQL is the language used to pull information out of your database, and it is worth your while learning a good amount of SQL - if you are the world's best PHP programmer but you are awful at SQL, any database-related PHP work you do will be of very poor quality.
Use indexes and normalisation for maximum efficiency. However, if you use too many indexes, you may cause more harm than good.
Although MySQL is by far the most popular DB choice for PHP use, PEAR::DB and SQLite are both still tools worth adding to your toolkit for future reference.
For important data, always use transactions. Yes, they will slow things down, but when the integrity of your information is critical, speed should not be a consideration.
Use the MySQL monitor to verify queries are syntactically valid, and also to visually see the response your queries get - sometimes you might find your PHP code to parse the result of a query is fine, but the query itself is bad.
If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!