How to Connect to MySQL Using PHP

Introduction

MySQL is a popular open-source relational database management system (RDBMS) used in web applications. It is used to store and manage data in a structured format. PHP is a popular scripting language used to create dynamic web pages. It is often used in conjunction with MySQL to create powerful web applications. In this tutorial, we will learn how to connect to MySQL using PHP. We will cover the basics of connecting to a MySQL database, executing queries, and retrieving data from the database. We will also discuss some best practices for working with MySQL and PHP.

How to Connect to MySQL Using PHP

1. Connect to MySQL using PHP:

a. Create a new PHP file and open it in a text editor.

b. Add the following code to the file:

c. Replace the values of $hostname, $username, $password, and $database with the appropriate values for your MySQL database.

d. Save the file and run it in a web browser. If the connection is successful, you should see the message “Connected successfully”.

Introduction

To access and add content to a MySQL database, you must first establish a connection between the database and a PHP script.

In this tutorial, learn how to use MySQLi Extension and PHP Data Objects to connect to MySQL. Traditional legacy mysql_ functions are deprecated and we will not cover them in this guide.

header image how to connect to mysql using php

Prerequisites

  • Special CREATE privileges
  • A MySQL Database
  • A MySQLi or PDO extension

2 Ways to Connect to MySQL database using PHP

There are two popular ways to connect to a MySQL database using PHP:

  1. With PHP’s MySQLi Extension
  2. With PHP Data Objects (PDO)

The guide also includes explanations for the credentials used in the PHP scripts and potential errors you may come across using MySQLi and PDO.

Option 1: Connect to MySQL with MySQL Improved extension

MySQLi is an extension that only supports MySQL databases. It allows access to new functionalities found in MySQL systems (version 4.1. and above), providing both an object-oriented and procedural interface. It supports server-side prepared statements, but not client-side prepared statements.

The MySQLi extension is included PHP version 5 and newer.

The PHP script for connecting to a MySQL database using the MySQLi procedural approach is the following:

<?php
$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

echo “Connected successfully”;

mysqli_close($conn);

?>

Credentials Explained

The first part of the script is four variables (server name, database, username, and password) and their respective values. These values should correspond to your connection details.

examples of database variables

Next is the main PHP function mysqli_connect(). It establishes a connection with the specified database.

Configuration file with the main php function to connect to MySQL.

Following is an “if statement.” It is the part of the code that shows whether the connection was established. When the connection fails, it gives the message Connection failed. The die function prints the message and then exits out of the script.

example of connection failed die function

If the connection is successful, it displays “Connected successfully.”

connected successfully to MySQL message

When the script ends, the connection with the database also closes. If you want to end the code manually, use the mysqli_close function.

message for script ended and connection to database closed

Option 2: Connect To MySQL With PDO

PHP Data Objects (PDO) is an extension that serves as an interface for connecting to databases. Unlike MySQLi, it can perform any database functions and is not limited to MySQL. It allows flexibility among databases and is more general than MySQL. PDO supports both server and client-side prepared statements.

Note: PDO will not run on PHP versions older than 5.0 and is included in PHP 5.1.

The PHP code for connecting to a MySQL database through the PDO extension is:

<?php

$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";
$charset = "utf8mb4";

try {

$dsn = "mysql:host=$servername;dbname=$database;charset=$charset";
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo “Connection Okay”;

return $pdo

}

catch (PDOException $e)

{
echo “Connection failed: ”. $e->getMessage();
}

?>

Credentials Syntax

First, we have five variables (server name, database, username, password, and charset) and their values. These values should correspond to your connection details.

The server name will be localhost. If connected to an online server, type in the server name of that server.

The variable charset tells the database in which encoding it will be receiving and sending data. The recommended standard is utf8mb4.

example for database syntax variables server name, database, username, password, and charset

Try and Catch Blocks

PDO’s great asset is that it has an exception class to take care of any potential problems in database queries. It solves these problems by incorporating try and catch blocks.

If a problem arises while trying to connect, it stops running and attempts to catch and solve the issue. Catch blocks can be set to show error messages or run an alternative code.

example of error message for catch blocks

The first parameter in the try and catch block is DSN, which stands for data(base) source name. It is crucial as it defines the type and name of the database, along with any other additional information.

In this example, we are using a MySQL database. However, PDO supports various types of databases. If you have a different database, replace that part of the syntax (mysql) with the database you are using.

example of mysql host connecting

Next is the PDO variable. This variable is going to establish a connection to the database. It has three parameters:

  1. The data source name (dsn)
  2. The username for your database
  3. The password for your database
example of username and password new pdo

Following is the setAttribute method adding two parameters to the PDO:

  1. PDO::ATTR_ERRMODE
  2. PDO::ERRMODE_EXCEPTION

This method instructs the PDO to run an exception in case a query fails.

example of pdo running an exception

Add the echo “Connection Okay.” to confirm a connection is established.

message for echo connection ok

Return the PDO variable to connect to the database.

example of pdo variable for database connection

After returning the PDO variable, define the PDOException in the catch block by instructing it to display a message when the connection fails.

example of displaying a message when connection fails

Potential Errors with MySQLi and PDO

Incorrect Password

The password in the PHP code needs to correspond with the one in the database. If the two do not match, a connection with the database cannot be established. You will receive an error message saying the connection has failed.

Possible solutions:

  1. Check the database details to ensure the password is correct.
  2. Ensure there is a user assigned to the database.

Unable to Connect to MySQL Server

PHP may not be able to connect to the MySQL server if the server name is not recognized. Make sure that the server name is set to localhost.

In case of other errors, make sure to consult the error_log file to help when trying to solve any issues. The file is located in the same folder where the script is running.

Conclusion

This guide detailed two ways to connect to a MySQL database using PHP.

Both MySQLi and PDO have their advantages. However, bear in mind that MySQLi is only used for MySQL databases. Therefore, if you want to change to another database, you will have to rewrite the entire code. On the other hand, PDO works with 12 different databases, which makes the migration much easier.

How to Connect to MySQL Using PHP

MySQL is a popular open-source relational database management system (RDBMS) used in web development. It is used to store, organize, and retrieve data from a database. PHP is a popular scripting language used to create dynamic web pages. It can be used to interact with a MySQL database. In this tutorial, we will show you how to connect to MySQL using PHP.

Prerequisites

  • A web server with PHP installed
  • A MySQL database

Step 1 – Connect to MySQL Using PHP

The first step is to connect to the MySQL database using PHP. This is done using the mysqli_connect() function. This function takes four parameters: the hostname, username, password, and database name. The hostname is usually localhost, but it can be different depending on your setup. The username and password are the credentials for the MySQL user. The database name is the name of the database you want to connect to.

The following example shows how to connect to a MySQL database using PHP:

$hostname = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

$conn = mysqli_connect($hostname, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";

If the connection is successful, the mysqli_connect() function will return a connection resource. If the connection fails, it will return FALSE and an error message will be printed.

Step 2 – Execute MySQL Queries Using PHP

Once you have established a connection to the MySQL database, you can execute MySQL queries using the mysqli_query() function. This function takes two parameters: the connection resource and the query string. The following example shows how to execute a MySQL query using PHP:

$sql = "SELECT * FROM table_name";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["email"]. "
"; } } else { echo "0 results"; }

The mysqli_query() function will return a result resource if the query is successful. The mysqli_num_rows() function can be used to check if the query returned any rows. If there are rows, they can be retrieved using the mysqli_fetch_assoc() function.

Step 3 – Close the Connection

Once you have finished executing queries, it is important to close the connection to the MySQL database. This is done using the mysqli_close() function. This function takes one parameter: the connection resource. The following example shows how to close the connection to the MySQL database:

mysqli_close($conn);

That’s it! You have successfully connected to a MySQL database using PHP.

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?