Home

How to Build a PHP Connection to SQL Databases for HTML5and CSS3 Programming

|
Updated:  
2016-03-26 13:12:48
|
HTML5 and CSS3 All-in-One For Dummies
Explore Book
Buy On Amazon

PHP has used a number of mechanisms available to HTML5 and CSS3 programmers for connecting to SQL databases over the years. PHP 5.1 and later now includes a library called PDO (PHP Data Objects) and it's a significant improvement over the mysql library. Here are a few key features:

  • It works with multiple backends: In the old days, changing a database engine meant re-writing all your code. With PDO, you use exactly the same mechanism with all databases, so it's much easier to change data engines.

  • It uses object-oriented syntax: PHP supports object-oriented programming, but it uses a slightly different syntax than JavaScript. Object-oriented programming adds some nice features to data access, so this is generally a good thing.

  • It's provides safer access to data: PDO uses a mechanism called prepared statements which prevent the most challenging kinds of data errors.

With PDO, the connection is an instance of the PDO object. When you make a PDO object, you're making a connection to the database. The data connection command is chock-full of details:

$con = new PDO('mysql:host=localhost;dbname=dbname', "username", "password");

There's a lot of important stuff happening in this line:

  1. Set up a variable to hold the connection.

    The entire point of creating a PDO object is to have a connection object, with various methods for modifying the data and making queries. So the first part of the data connection process is to make a connection object. This one is called $con.

    $con = new PDO('mysql:host=localhost;dbname=dbname', "username", "password");
  2. Build a new PDO object.

    Because PDO is object-oriented, use the new keyword to call the PDO object constructor.

    $con = new PDO('mysql:host=localhost;dbname=dbname', "username", "password");
  3. Specify the database type.

    MySQL is the most commonly used database system for PHP programmers. However, one of the advantages of PDO is its flexibility. If you change to a different RDBMS, you (theoretically, at least) only need to make one tiny change and the code will still work.

    $con = new PDO('mysql:host=localhost;dbname=dbname', "username", "password");
  4. Indicate the host.

    When you're working on a local XAMPP installation, the host will often be localhost. If you're on a remote server, you may need to investigate where your databases are hosted. They may be on a completely different machine with its own address.

    $con = new PDO('mysql:host=localhost;dbname=dbname', "username", "password");
  5. Specify the database name.

    Within a connection, you might have several databases. Use this part of the connection to determine which database you're using.

    $con = new PDO('mysql:host=localhost;dbname=dbname', "username", "password");
  6. Indicate the username.

    Each database will likely have a specific user determined to be that database's administrator.

    $con = new PDO('mysql:host=localhost;dbname=dbname', "username", "password");
  7. Provide the password.

    Your program is essentially logging in as the user. This is why it's good to build a specific user for each application. This allows you to tightly control access to your database.

    $con = new PDO('mysql:host=localhost;dbname=dbname', "username", "password");

If you are using the root user with no password, you're setting up your computer to be hacked.

About This Article

This article is from the book: 

About the book author:

Andy Harris earned a degree in Special Education from Indiana University/Purdue University–Indianapolis (IUPUI). He taught young adults with severe disabilities for several years. He also taught himself enough computer programming to support his teaching habit with freelance programming.
Those were the exciting days when computers started to have hard drives, and some computers connected to each other with arcane protocols. He taught programming in those days because it was fun.
Eventually, Andy decided to teach computer science full time, and he still teaches at IUPUI. He lectures in the applied computing program and runs the streaming media lab. He also teaches classes in whatever programming language is in demand at the time. He has developed a large number of online video-based courses and international distance education projects.
Andy has written several books on various computing topics and languages including Java, C#, mobile computing, JavaScript, and PHP/MySQL.
Andy welcomes comments and suggestions about his books. He can be reached at [email protected].