Sneak Peek at Kevin Yank’s New Book ‘PHP & MYSQL: Novice to Ninja’

phpmysql5-coverKevin Yank’s done it again! He’s just completed a new 2012 edition of his best-selling book (Build Your Own Database Driven Web Site, 4th Edition) which is now titled – PHP & MySQL: Novice to Ninja. And, today you can:

  • Take a sneak peek inside the book (with an excerpt from the Chapter 3 -Introducing PHP)
  • Order the book, and SAVE up to 50%
Now let’s jump into the excerpt from the book. Over to you Kev …

Introducing PHP

PHP is a server-side language. This concept may be a little difficult to grasp, especially if you’ve only ever designed websites using client-side languages like HTML, CSS, and JavaScript.

A server-side language is similar to JavaScript in that it allows you to embed little

programs (scripts) into the HTML code of a web page. When executed, these programs give you greater control over what appears in the browser window than HTML alone can provide. The key difference between JavaScript and PHP is the stage of loading the web page at which these embedded programs are executed.

Client-side languages like JavaScript are read and executed by the web browser after downloading the web page (embedded programs and all) from the web server. In contrast, server-side languages like PHP are run by the web server, before sending the web page to the browser. Whereas client-side languages give you control over how a page behaves once it’s displayed by the browser, server-side languages let you generate customized pages on the fly before they’re even sent to the browser.

Once the web server has executed the PHP code embedded in a web page, the result takes the place of the PHP code in the page. All the browser sees is standard HTML code when it receives the page, hence the name “server-side language.” Let’s look back at the today.php example presented in Chapter 1:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Today&rsquo;s Date</title>
</head>
<body>
<p>Today&rsquo;s date (according to this web server) is
<?php 
echo date('l, F jS Y.'); 
?> 
</p>
</body>
</html>

Most of this is plain HTML except the line between <?php and ?> is PHP code. <?php marks the start of an embedded PHP script and ?> marks its end. The web server is asked to interpret everything between these two delimiters and convert it to regular HTML code before it sends the web page to the requesting browser. The browser is presented with the following:

Notice that all signs of the PHP code have disappeared. In its place the output of the script has appeared, and it looks just like standard HTML. This example demonstrates several advantages of server-side scripting:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Today&rsquo;s Date</title>
</head>
<body>
<p>Today&rsquo;s date (according to this web server) is
Sunday, April 1st 2012. </p>
</body>
</html>

Notice that all signs of the PHP code have disappeared. In its place the output of the script has appeared, and it looks just like standard HTML. This example demonstrates several advantages of server-side scripting:

No browser compatibility issues

PHP scripts are interpreted by the web server alone, so there’s no need to worry about whether the language features you’re using are supported by the visitor’s browser.

Access to server-side resources

In the above example, we placed the date according to the web server into the web page. If we had inserted the date using JavaScript, we’d only be able to display the date according to the computer on which the web browser was running. Granted, there are more impressive examples of the exploitation of server-side resources, such as inserting content pulled out of a MySQL database (hint, hint …).

Reduced load on the client

JavaScript can delay the display of a web page significantly (especially on mobile devices!), as the browser must run the script before it can display the web page. With server-side code this burden is passed to the web server, which you can make as beefy as your application requires (and your wallet can afford).

Basic Syntax and Statements

PHP syntax will be very familiar to anyone with an understanding of JavaScript, C, C++, C#, Objective-C, Java, Perl, or any other C-derived language. But if these languages are unfamiliar to you, or if you’re new to programming in general, there’s no need to worry about it.

A PHP script consists of a series of commands, or statements. Each statement is an instruction that must be followed by the web server before it can proceed to the next instruction. PHP statements, like those in the aforementioned languages, are always terminated by a semicolon (;).

This is a typical PHP statement:

echo 'This is a <strong>test</strong>!';

This is an echo statement, which is used to generate content (usually HTML code) to send to the browser. An echo statement simply takes the text it’s given and inserts it into the page’s HTML code at the position of the PHP script where it was contained.

In this case, we’ve supplied a string of text to be output: ‘This is a <strong>test</strong>!’. Notice that the string of text contains HTML tags (<strong> and </strong>), which is perfectly acceptable. So, if we take this statement and put it into a complete web page, here’s the resulting code:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Today&rsquo;s Date</title>
</head>
<body>
<p><?php echo 'This is a <strong>test</strong>!'; ?></p>
</body>
</html>

If you place this file on your web server and then request it using a web browser, your browser will receive this HTML code:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Today&rsquo;s Date</title>
</head>
<body>
<p>This is a <strong>test</strong>!</p>
</body>
</html>

The today.php example we looked at earlier contained a slightly more complex echo statement:

echo date('l, F jS Y.');

Instead of giving echo a simple string of text to output, this statement invokes a built-in function called date and passes it a string of text: ‘l, F jS Y.’. You can think of built-in functions as tasks that PHP knows how to do without you needing to spell out the details. PHP has many built-in functions that let you do everything, from sending email to working with information stored in various types of databases.

When you invoke a function in PHP—that is, ask it to do its job—you’re said to be calling that function. Most functions return a value when they’re called; PHP then behaves as if you’d actually just typed that returned value instead in your code. In this case, our echo statement contains a call to the date function, which returns the current date as a string of text (the format of which is specified by the text string in the function call). The echo statement therefore outputs the value returned by the function call.

You may wonder why we need to surround the string of text with both parentheses ((…)) and single quotes (‘…’). As in SQL, quotes are used in PHP to mark the beginning and end of strings of text, so it makes sense for them to be there. The parentheses serve two purposes. First, they indicate that date is a function that you want to call. Second, they mark the beginning and end of a list of arguments that you wish to provide, in order to tell the function what you want it to do.

In the case of the date function, you need to provide a string of text that describes the format in which you want the date to appear. Later on, we’ll look at functions that take more than one argument, and we’ll separate those arguments with commas. We’ll also consider functions that take no arguments at all. These functions will still need the parentheses, even though there will be nothing to type between them.

Fantastic, thanks Kevin for sharing that!phpmysql5-whats-inside

The good news is there’s loads more practical and hands-on examples just like this in the 500+ pages of the book. Which covers:

  • Tutorials: Easy-to-follow tutorials with downloadable code examples
  • Installation: Instructions for PHP & MySQL on Windows, Mac OS X, and Linux
  • PHP coding: Learning the correct PHP syntax
  • Database design: Mastering SQL database design
  • Object Oriented Programming (OOP): Crash course in OOP principles.
  • Building a CMS: Step-by-step guide to creating a CMS.
  • Shopping Carts: Developing an e-commerce cart from scratch.
  • Latest technologies: Updated for Windows 7, Mac OS X Lion, and the latest versions of PHP, MySQL, phpMyAdmin, XAMPP, MAMP, and HTML5.

Order your copy now:

That’s it. Enjoy, and as always, we’d love to hear all your thoughts and comments.

Win an Annual Membership to Learnable,

SitePoint's Learning Platform

  • Ali

    where i can find Table of Contents?

  • Mohammad Ali Khan

    I’ve been waiting for this release, will purchase when I’m on my desktop later today ;)

  • Mohammad Ali Khan

    Hehe, 2 Ali’s in a row. Cool!

  • David

    I agree for the table of contents, what new features of PHP did this book tackle?

  • http://www.imraven.com Raven

    I just purchased the digital bundle and I’m looking forward for another great read! :)
    BTW, the free Learnable membership is overkill. So I suggest everybody should take the offer while its there.

  • Ann Magee

    I purchased this yesterday (April 30) from my home in the US and I STILL cannot download this EPACK (May 1). :( Very disappointed in this and my payment has already cleared my bank account. I really want this EPACK.

    • http://www.mickg.co.nz Mick Gibson

      Hey there Ann. I’m sorry you are having problems downloading the EPACK. I have asked Tim from our support team to contact you now about helping resolve this.

  • http://www.webtechnepal.com webtech nepal

    Seems to be GREAT book. Must buy !!

  • Will

    I bought this book after reading that it covered” SHOPPING CARTS: Developing an e-commerce cart from scratch” – I’m very disappointed… it barely scratches the surface of ecommerce carts. I was expecting a chapter devoted to e-commerce and shopping carts but all thats included is a few pages within a chapter on PHP Sessions…. A Simple Shopping Cart… its hardly ninja stuff!!!

    • http://www.mickg.co.nz Mick Gibson

      Hey Will, thanks for the feedback. Sorry the shopping cart chapter didnt hit the spot for you.
      Please contact us at support if you want to take us up on our satisfaction guarantee.

  • Saif Ali Khan

    Nuff said

  • Jose

    It’s hard to determine if I’m interested in purchasing this when there is no table of contents published. If I can’t see what the book covers, in detail, then it’s not worth risking my cash. It’s fine for an absolute beginner who is sure to get something out of this but for those of us who have been using PHP and MySQL for a while and may want to purchase the book to pick out a few gems or to add it to our library as a reference, it’s just not enough to decide.