
MySQL
PHP is a rather loose language that is fairly upfront. Functions, classes, and variables are easy to manipulate and use. It has very similar syntax in comparison to higher level languages such as C, allowing the branching of more complicated languages (starting with a watered down language like PHP). The PHP engine parses scripts quickly, and has a very elaborate error system, detailing why an error occured, where it started or ended, and what caused it (if applicable). Easy INI settings allow you to surpress these errors when it's time to put your website to professional use (the INI settings can control many other options, at that). PHP has
MySQL, Oracle, and many other major database support. Extensions can be added on to further the classes and functions a programmer is capable of performing. You can even write your own scripts and share them with the world with the PHP Extensive Application Repository (or, PEAR for short). However, some people find the PHP language complicated -- or contrary, too loose. Programmers with little experience may find complex source too difficult to understand, and they may never end up understanding it. Programmers with higher levels of experience may find PHP's syntax to be too lose; for example, comparing an integer to string that has an integer in it (two completely different types of variables) would cause errors in higher level languages, stating that the comparison is invalid. PHP allows this sort of syntax, and (in a sense) converts the string into an integer.