Databases are essential for storing and managing data in dynamic websites. The most commonly used database with PHP is MySQL or its fork MariaDB.
What is a Database?
Installing MySQL / MariaDB
There are two main approaches: using an all-in-one package like XAMPP/WAMP/MAMP or installing manually.
Option 1: Using XAMPP (Recommended for Beginners)
XAMPP includes:
Steps:
http://localhost/phpmyadmin in your browser → phpMyAdmin is your database manager.Option 2: Manual Installation
Windows:
mysql -u root -p
mysqli or PDO.sudo apt update sudo apt install mysql-server sudo mysql_secure_installation sudo apt install php php-mysql
sudo service mysql start
Mac (Using Homebrew or MAMP):
brew install mysql brew services start mysql
Creating Your First Database
After installation, you can create a database via phpMyAdmin or MySQL CLI.
Using phpMyAdmin:
http://localhost/phpmyadminmy_website) → Click CreateUsing MySQL Command Line:
CREATE DATABASE my_website;
USE my_website;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
age INT(3)
);
Connecting PHP to the Database
Using MySQLi (Procedural):
<?php
$conn = mysqli_connect("localhost", "root", "", "my_website");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Database connected successfully!";
?>
Using PDO (Recommended):
<?php
try {
$conn = new PDO("mysql:host=localhost;dbname=my_website", "root", "");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Database connected successfully using PDO!";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Best Practices for Database Installation
✅ What this example does:
users table inside the database<?php
// Connect to MySQL
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_website";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Create Database
$sql = "CREATE DATABASE IF NOT EXISTS $dbname";
if ($conn->query($sql) === TRUE) {
echo "Database '$dbname' created successfully!";
} else {
echo "Error creating database: " . $conn->error;
}
// Connect to the new database
$conn->select_db($dbname);
// Create table
$sql = "CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL
)";
if ($conn->query($sql) === TRUE) {
echo "<br>Table 'users' created successfully!";
} else {
echo "<br>Error creating table: " . $conn->error;
}
$conn->close();
?>