One of the best things about PHP is its built in functions for database access. In this post, I will provide some examples on how to access a MySQL database using PHP. My free PHP host allows MySQL databases, so this came in very handy while trying my hand at PHP (I was a seasoned ASP programmer...ah...those good old days). I won't comment general code syntax, but will highlight database specific portions. For PHP help, try one of the many PHP sites on the 'net. The big mamma is of course Before I let you in on the code, let me explain what this code does. It was designed for a gateway for a link library. The table in my database is called links, and I query it for a short description and links to the site. This way, I can create a link repository and categorize the sites. The table has the following fields : siteID, siteDescription, siteTitle, siteLink, siteLogo, all VARCHAR32 types. Now, without further delay on to the code!

/* --- [ PHP Database Connection Code ]---

--- [ Copyright (C) Mohammad Burhan Khalid ]---

--- [ Data Dictionary ] ---

$_host = path your your MySQL server

$_user = your user name (duh)

$_pwd = your password (duh)

$_db = the database name you want to connect to

$handle = returns a "handle" to your database.

we will use this to check the status of the


$strDestination = the "siteID" for the site that we want to lookup. I passed it as a parameter to the gateway page.

Something like test.php?destination=ms






$handle = mysql_connect($_host,$_user,$_pwd);

if ($handle) { $errorCode=""; }

else { $errorCode="Can't Open Database ".$_db." ]";}



$strQuery = "SELECT * FROM links where siteID LIKE '".$strDestination."'";

$intQID = mysql_db_query($_db, $strQuery);

$QueryResult = mysql_fetch_assoc($intQID);

$siteTitle = $QueryResult["siteTitle"];

$siteDescription = $QueryResult["siteDescription"];

$siteLogo = $QueryResult["siteLogo"];

$siteLink = $QueryResult["siteLink"];


Now on to the explanation!


This line selects the database that you want to work with in MySQL. Takes a parameter of type string (but since all parameters in PHP are variant till runtime, all you need is a set of quotes around your variable. Ours was $_db).

$intQID = mysql_db_query($_db, $strQuery);

This little snippet does all the magic. It excutes the query and returns a handle (type int) to your query.

$QueryResult = mysql_fetch_assoc($intQID);

I used this function to return the results of the query as an associative array. Used the "handle" returned by the mysql_fetch_assoc() function.

$siteTitle = $QueryResult["siteTitle"];

This is a way to get the results from the table name. You can use numeric identifiers also, ie $QueryResult[0];. Nothing too fancy here, just getting elements from an array.


After we are done, its always nice to close our connection. We use the same "handle" that was returned when we opened the connection.

This is a very simplified way to connect to a MySQL database. Leave me your comments, and I might write a more advanced (say, looping through the fields, search for records, paginate, etc.) tutorials.

Leave me feedback, or email me with your comments.