For the correct technical description, follow the above link to PHP.net, try also mysql.com.
Here‘s a basic description: It is a server sided programming language which can create HTML pages that are dynamic (do not cofuse that with Dynamic-HTML). HTML is client sided
So what does client/server sided mean? HTML is sent to your browser as an ascii (text) file. Your browser recognises the HTML-Language because the commands are inside Tags „< >“. Because the HTML commands are executed locally on your computer, it is known as client sided. I.E. you are the client on the server.
PHP does the same, but before it sends the HTML to your browser, it perfoms a query to a database to gather the information requested and creates the HTML necessary to display the requested page.
PHP does not have to do queries, it can also be non-dynamic, however that would be like buying a car and then pushing it everywhere (or even a unicycle).
Examples for its use are forums, such as this one and interactive web sites, like online shops or online car configurators.
Hope that was easy enough to understand, without causing the experts too much pain with this description.