Installing MySQL and PHP on Your System
Option 1: Using XAMPP (Recommended for Beginners)
XAMPP is an all-in-one package that includes:
Steps:
http://localhost/phpmyadminOption 2: Manual Installation
If you prefer installing separately:
For Windows:
For Linux (Ubuntu/Debian):
sudo apt update sudo apt install apache2 sudo apt install php libapache2-mod-php php-mysql sudo apt install mysql-server sudo mysql_secure_installation
php -vmysql --versionFor Mac (Using MAMP or Homebrew):
brew install php brew install mysql brew services start mysql
Connecting PHP to MySQL
a) Using MySQLi (Procedural)
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "test_db";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
b) Using MySQLi (Object-Oriented)
<?php
$conn = new mysqli("localhost", "root", "", "test_db");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
c) Using PDO (Recommended for Modern PHP)
<?php
try {
$conn = new PDO("mysql:host=localhost;dbname=test_db", "root", "");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully using PDO";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Testing PHP-MySQL Setup
phpMyAdmin at http://localhost/phpmyadmintest_dbusers:CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL
);
test_connection.php using one of the connection examples above.http://localhost/test_connection.php)Best Practices After Installation
<?php
// Connect to MySQL
$conn = new mysqli("localhost", "root", "", "test_db");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Insert data
$name = "Alice";
$email = "alice@example.com";
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
echo "New record inserted successfully";
} else {
echo "Error: " . $conn->error;
}
$conn->close();
?>