How to create Database in PHP/MySQL

The databases play an important role in web development and one of the most popular methods of working with databases is the combination of PHP and MySQL. This article will talk about the fundamentals of databases in php/MySQL, connection, creation, reading, updating and deleting data. The article is SEO-friendly, contains easy-to-read sentences, and contains crucial keywords to increase the ranking of the search engine.

What is a Database in PHP/MySQL?

Database is a tool of storing and organizing data. MySQL is a renowned database manager. PHP is a server -side scripting language that can be used along with MySQL to develop dynamic web applications. PHP and MySQL together enable you to develop, manipulate and retrieve databases without much effort.

Why Use PHP and MySQL for Databases?

A combination of PHP and MySQL is popular because of a number of reasons: Both are open-source and free. They are easy to learn and use. PHP provides the inbuilt functions to interact with MySQL database. MySQL is scalable, fast and reliable. Popularity in the community and numerous internet resources.

How to Connect to a Database in PHP/MySQL

To work with a MySQL database in PHP, the first step is to connect to the database server. Here is a simple example using the mysqli extension:

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

// Create connection
$conn = new mysqli($servername, $username, $password, $database);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

This code connects PHP to a MySQL database named “mydatabase”. Always check for connection errors to avoid problems.

Creating a Database in MySQL

You can create a new database using the MySQL command line or PHP scripts.

MySQL command:

sqlCREATE DATABASE mydatabase;

PHP script example:

php<?php
$conn = new mysqli("localhost", "root", "");

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

// Create database
$sql = "CREATE DATABASE mydatabase";
if ($conn->query($sql) === TRUE) {
    echo "Database created successfully";
} else {
    echo "Error creating database: " . $conn->error;
}

$conn->close();
?>

Creating Tables in a MySQL Database

Tables store the data in databases. To create a table, use:

sqlCREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
);

This table users has fields for id, username, email, and registration date.

Inserting Data into MySQL Tables Using PHP

After creating tables, you can add data using PHP:

php<?php
$conn = new mysqli("localhost", "root", "", "mydatabase");

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

$sql = "INSERT INTO users (username, email) VALUES ('JohnDoe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

This adds one user to the users table.

Reading Data from the Database Using PHP

To get data, use SQL SELECT statements and PHP’s query() method:

php<?php
$conn = new mysqli("localhost", "root", "", "mydatabase");

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

$sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["username"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 results";
}

$conn->close();
?>

This code fetches all users and shows their details.

Updating Data in MySQL Tables

To update existing data, use the UPDATE SQL command:

php<?php
$conn = new mysqli("localhost", "root", "", "mydatabase");

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

$sql = "UPDATE users SET email='newemail@example.com' WHERE username='JohnDoe'";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

This updates the email for the user with username “JohnDoe”.

Deleting Data from the Database

To remove data, use the DELETE SQL command:

php<?php
$conn = new mysqli("localhost", "root", "", "mydatabase");

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

$sql = "DELETE FROM users WHERE username='JohnDoe'";

if ($conn->query($sql) === TRUE) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . $conn->error;
}

$conn->close();
?>

This deletes the user named “JohnDoe” from the database.

Using Prepared Statements for Security

To prevent SQL injection, always use prepared statements when working with user input:

php<?php
$conn = new mysqli("localhost", "root", "", "mydatabase");

$stmt = $conn->prepare("INSERT INTO users (username, email) VALUES (?, ?)");
$stmt->bind_param("ss", $username, $email);

$username = "JaneDoe";
$email = "jane@example.com";
$stmt->execute();

echo "New record created successfully";

$stmt->close();
$conn->close();
?>

Prepared statements increase database security.

Database Error Handling in PHP

Always handle errors gracefully to understand issues:

php<?php
$conn = new mysqli("localhost", "root", "", "mydatabase");

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

if (!$conn->query("INVALID SQL")) {
    echo "Error: " . $conn->error;
}

$conn->close();
?>

Advantages of Using Database in PHP/MySQL

  • Easy to use and learn.
  • Fast and reliable.
  • Large community support.
  • Flexible for small to large applications.
  • Secure when used with proper coding practices.

Common PHP/MySQL Functions for Database

  • mysqli_connect() – opens a connection.
  • mysqli_query() – executes SQL queries.
  • mysqli_fetch_assoc() – fetches results as associative arrays.
  • mysqli_prepare() – prepares SQL statements.
  • mysqli_stmt_bind_param() – binds input parameters.

Choosing Between MySQLi and PDO

PHP offers two ways to connect with MySQL:

FeatureMySQLiPDO
Supports multiple DBsNoYes
Named placeholdersNoYes
Object-orientedYesYes
Procedural interfaceYesNo
Driver supportMySQL onlyMultiple (MySQL, SQLite)

Both are good; PDO is more flexible for different databases.

Tips for Optimizing MySQL Database Performance

  • Use indexes on columns frequently searched.
  • Avoid SELECT *; select only needed columns.
  • Use LIMIT to reduce large result sets.
  • Regularly optimize and repair tables.
  • Use caching where possible.

How to Backup and Restore MySQL Databases

Backup using the mysqldump command:

textmysqldump -u username -p mydatabase > backup.sql

Restore backup with:

textmysql -u username -p mydatabase < backup.sql

Regular backups protect your data.

Conclusion

Dynamic websites and applications cannot be built without a database in the PHP/MySQL. Connecting to MySQL, creating and managing databases, CRUD operations and securing your data with the best practices were all discussed in this article. The combination of PHP and MySQL is effective, affordable and provides a good level of community support to both new and experienced users.

SEO Keywords for This Article

  • Database in PHP/MySQL
  • PHP MySQL connection
  • Create MySQL database PHP
  • Insert data PHP MySQL
  • Update MySQL data PHP
  • Delete MySQL records PHP
  • PHP MySQL prepared statements.
  • MySQL database tutorial
  • PHP MySQL CRUD operations
  • Secure PHP MySQL database