Open In App

How to fetch data from the database in PHP ?

Last Updated : 17 Mar, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Database operations in PHP are a very crucial thing that is especially needed in CRUD (Create, Read, Update and Delete) operations.

In this article, we will discuss the Read part i.e. data fetching from database.

There are two ways to connect to a database using PHP. They are as follows.

  1. MySQLi (“i” stands for improved)
  2. PDO (PHP Data Objects)

MySQLi vs PDO: Both the ways are really good but there is only one difference between the two methods, PDO can work on 12 different database systems whereas MySQLi works with MySQL databases only.

Connecting to a Database:

  • MySQLi Object-Oriented 

    $conn = new mysqli($servername, $username, $databasename)
  • MySQLi Procedural

    $conn = mysqli_connect($servername, 
        $username, $password, $databasename);
  • PDO

    $conn = new PDO("mysql:host=$servername;dbname=myDB",
        $username, $password, $databasename);

Executing Queries: After connecting to the database we need to run queries to fetch data. In Read operations, we will use only select queries to fetch data from the database.

  • MySQLi Object-Oriented

    $conn->query($query);
  • MySQLi Procedural

    mysqli_query($conn, $query)
  • PDO

    $stmt = $conn->prepare($query);
    $stmt->execute();

Close Connection: After the fetching is performed, you should close the connection to the database using the close() function.

$conn->close();

Sample Database

Create Table in the database:

CREATE TABLE `Student Details` (
  `Roll_No` int(11) NOT NULL,
  `Name` varchar(255) NOT NULL,
  `City` varchar(255) NOT NULL,
  `Age` int(11) NOT NULL,
  PRIMARY KEY (`Roll_No`)
);

Student Details

MySQLi Object-Oriented approach:

PHP Code:

PHP




<?php
  
  $servername = "localhost";
  $username = "root";
  $password = "";
  $databasename = "geeksforgeeks";
  
  // CREATE CONNECTION
  $conn = new mysqli($servername,
    $username, $password, $databasename);
  
  // GET CONNECTION ERRORS
  if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
  }
  
  // SQL QUERY
  $query = "SELECT * FROM `Student Details`;";
  
  // FETCHING DATA FROM DATABASE
  $result = $conn->query($query);
  
    if ($result->num_rows > 0) 
    {
        // OUTPUT DATA OF EACH ROW
        while($row = $result->fetch_assoc())
        {
            echo "Roll No: " .
                $row["Roll_No"]. " - Name: " .
                $row["Name"]. " | City: "
                $row["City"]. " | Age: "
                $row["Age"]. "<br>";
        }
    
    else {
        echo "0 results";
    }
  
   $conn->close();
  
?>


Output:

Roll No: 1 - Name: Ram | City: Delhi | Age: 18
Roll No: 2 - Name: Shyam | City: Mumbai | Age: 19
Roll No: 3 - Name: Rohit | City: Chennai | Age: 18
Roll No: 4 - Name: Suresh | City: Kolkata | Age: 20

MySQLi Procedural approach:

PHP Code:

PHP




<?php
  
  $servername = "localhost";
  $username = "root";
  $password = "";
  $databasename = "geeksforgeeks";
  
  // CREATE CONNECTION
  $conn = mysqli_connect($servername
    $username, $password, $databasename);
  
  // GET CONNECTION ERRORS
  if (!$conn) {
      die("Connection failed: " . mysqli_connect_error());
  }
  
  // SQL QUERY
  $query = "SELECT Roll_No, Name FROM `Student Details`;";
  // FETCHING DATA FROM DATABASE
  $result = mysqli_query($conn, $query);
  
  if (mysqli_num_rows($result) > 0) {
      // OUTPUT DATA OF EACH ROW
      while($row = mysqli_fetch_assoc($result)) {
          echo "Roll No: " . $row["Roll_No"]
          . " - Name: " . $row["Name"]. "<br>";
      }
  } else {
      echo "0 results";
  }
  
  $conn->close();
  
?>


Output:

Roll No: 1 - Name: Ram
Roll No: 2 - Name: Shyam
Roll No: 3 - Name: Rohit
Roll No: 4 - Name: Suresh

PDO Approach:

PHP Code:

PHP




<?php
  
  $servername = "localhost";
  $username = "root";
  $password = "";
  $databasename = "geeksforgeeks";
  
  // CREATE CONNECTION
  $conn = mysqli_connect($servername
    $username, $password, $databasename);
  
  // GET CONNECTION ERRORS
  if (!$conn) {
      die("Connection failed: " . mysqli_connect_error());
  }
  
  // SQL QUERY
  $query = "SELECT Roll_No, Name, City FROM `Student Details` WHERE Age > 18;";
  
  try 
  {
      $conn = new PDO(
        "mysql:host=$servername;dbname=$databasename"
        $username, $password);
  
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      $stmt = $conn->prepare($query);
      // EXECUTING THE QUERY
      $stmt->execute();
  
      $r = $stmt->setFetchMode(PDO::FETCH_ASSOC);
      // FETCHING DATA FROM DATABASE
      $result = $stmt->fetchAll();
      // OUTPUT DATA OF EACH ROW
      foreach ($result as $row
      {
          echo "Roll No: " . $row["Roll_No"]. " - Name: "
            $row["Name"]. " | City: " . $row["City"]. "<br>";
      }
  } catch(PDOException $e) {
      echo "Error: " . $e->getMessage();
  }
  
$conn->close();
  
?>


Output:

Roll No: 2 - Name: Shyam | City: Mumbai
Roll No: 4 - Name: Suresh | City: Kolkata


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads