How to Connect MySQL Database with PHP Websites

by Ahmed Khan  December 4, 2015

In the first installment of this MySQL series, I introduced databases and database management system. I also presented a brief overview of a popular DBMS, MySQL.

connect mysql with php

In continuation from the previous post, I will be telling you how you can connect your PHP file with your MySQL database.

Step 1: Changing Admin Password

First, let me tell you what PHPMyAdmin is. It is a control panel from where you can manage your database that you have created. Open your browser and go to localhost/PHPMyAdmin or click “Admin” in XAMPP UI.

When you first installed XAMPP, it only created the username for it to be accessed, you now have to add a password to it by yourself. For this, you have to go to User account where the user is same as the one shown in this picture:

change password database

Now click Edit privileges and go to Change password, type your password there and save it. Remember this password as it will be use to connect to your Database.

change password database

Note: It is not necessary to change password to access databases on local host. It is a good practice and that is why we have used a password.

Step 2: Create Database

Now return to the homepage of phpmyadmin. Click New button to create a new database.

phpmyadmin

In the new window, name your database as per your need, I am naming it “practice”. Now select Collation as utf8_general_ci, as we are using it for learning purposes and it will handle all of our queries and data that will be covered in this tutorial series. Now click on Create and your database will be created.

create database

The newly created database will be empty now, as there are no tables in it. I will be covering that in the upcoming series where we will learn how to create tables and insert data in it. In this tutorial, we are going to connect this database to a localhost using PHP.

tables in database

Step 3: Create a Folder in Htdocs

Now, locate the folder where you installed XAMPP and open htdocs folder (usually c:/xampp). Create a new folder inside c:/xampp/htdocs/ and name it “practice” we will place web files in this folder. Why we have created folder in htdocs? XAMPP uses folders in htdocs to execute and run your PHP sites.

Note: If your using WAMP, then add your practice folder in c:/wamp/www folder.

Step 4: Create Database Connection File In PHP

Create a new php file and name it db_connnection.php and save it. Why am I creating a separate database connection file? Because if you have created multiple files in which you want to insert data or select data from the databases, you don’t need to write the code for database connection every time. You just have to include it by using PHP custom function include (include ‘connection.php’) on the top of your code and call its function and use it. It also helps when you are moving your project location from one PC to another and you have to change the values on the single file and all the changes will be applied to all the other files automatically. Write the following code in your db_connection file.

Here is the explanation of the variable that we have used in our db_connection file:

  1. $dbhost will be the host where your server is running it is usually localhost.
  2. $dbuser will be the username i.e. root and $dbpass will be the password which is the same that you used to access your phpmyadmin.
  3. $dbname will be the name of your database which we have created in this tutorial.

Step 5: Create new php file to check your database connection

Create a new php file to connect to your database. Name it index.php and add this code in this file.

Step 6: Run it!

Now open your browser and goto localhost/practice/index.php and you should see this screen:

connection successfully

Confirmation Message

Congratulations! You’ve successfully connected your database with your localhost! If you are not able to see this screen, then check if you have done everything right in your db_connection.php file.

In this tutorial, we have learned two things:

  • How to create a new database
  • How to connect to the database with PHP

We now have our databases ready for data-entry by creating tables in the newly created databases.

In the next installment of this MySQL series, I will introduce MySQL data types. Here is a short introduction and list of major topics in this MySQL series.

Turbo-charged MySQL Hosting

Cloudways provides a Managed Web Hosting Stack based on MySQL, PHP, Varnish HTTP Accelerator, Nginx and Apache web servers, and Memcached and Redis cache. Your website load time can improve by up to 100% on the Cloudways Platform.

Start your free trial of Cloudways MySQL Hosting Platform now.

Start Creating Web Apps on Managed Cloud Servers Now!

Easy Web App Deployment for Agencies, Developers and E-Commerce Industry

About Ahmed Khan

Ahmed was a PHP community expert at Cloudways - A Managed PHP Hosting Cloud Platform. He is a software engineer with extensive knowledge in PHP and SEO. He loves watching Game of Thrones is his free time. Follow Ahmed on Twitter to stay updated with his works. You can email him at ahmed.khan@cloudways.com

Stay Connected:

You Might Also Like...

  • slim-tock

    just asking : why not use mysqli_connect(…) and mysqli_query(…) ??

    • Hi Slim,

      Thank you for your comment. 🙂
      I haven’t used mysqli_connect and mysqli_query because I have opted for OOP for mysqli. If you like the procedural approach, you can use it.