KoderSolution Logo
HomeArticlesTutorialsForumAI LabRun Code
KoderSolution Logo

The world’s most advanced technical ecosystem for modern software engineers. Learn, build, and grow with next-generation developer tools and resources.

Engineering Newsletter

Join 100,000+ engineers receiving curated high-signal content weekly.

Platforms

  • Technical Articles
  • Interactive Tutorials
  • AI Coding Lab
  • Developer Forum
  • Developer Tools

Pages

  • About Us
  • Contact Us
  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Disclaimer
  • Advertisement

Popular Topics

  • PHP
  • Laravel
  • Python
  • React.Js
  • MySQL
© 2026 KoderSolutionAll Rights Reserved
Developed Bymaksudur.dev
🐘

PHP

Topic Hub & Articles

PHP Intro

10 min

Php Mysql Database

10 min

PHP Install

10 min

PHP Syntax

10 min

Recap Quiz

5 Questions

PHP Comments

10 min

PHP Variables

10 min

PHP Echo / Print

10 min

Recap Quiz

5 Questions

PHP Data Types

10 min

PHP Strings

10 min

PHP Numbers

10 min

Recap Quiz

5 Questions

PHP Math

10 min

PHP Constants

10 min

PHP Operators

10 min

Recap Quiz

5 Questions

PHP If...Else...Elseif

10 min

PHP Switch

10 min

PHP Loops

10 min

Recap Quiz

5 Questions

PHP Functions

10 min

PHP Arrays

10 min

PHP Superglobals

10 min

Recap Quiz

5 Questions

PHP RegEx

10 min

PHP Form Handling

10 min

PHP Form Validation

10 min

PHP Form Required

10 min

Recap Quiz

5 Questions

PHP Form URL/E-mail

10 min

PHP Date and Time

10 min

PHP Include

10 min

PHP File Handling

10 min

Recap Quiz

5 Questions

PHP File Open/Read

10 min

PHP File Create/Write

10 min

PHP File Upload

10 min

Recap Quiz

5 Questions

PHP Cookies

10 min

PHP Sessions

10 min

PHP Filters

10 min

Recap Quiz

5 Questions

PHP Filters Advanced

10 min

PHP JSON

10 min

PHP Exceptions

10 min

Recap Quiz

5 Questions

PHP What is OOP

10 min

PHP Classes/Objects

10 min

PHP Constructor

10 min

Recap Quiz

5 Questions

PHP Destructor

10 min

PHP Access Modifiers

10 min

PHP Inheritance

10 min

Recap Quiz

5 Questions

PHP Constants

10 min

PHP Abstract Classes

10 min

PHP Interfaces

10 min

Recap Quiz

5 Questions

PHP Traits

10 min

PHP Static Methods

10 min

PHP Static Properties

10 min

Recap Quiz

5 Questions

PHP Iterables

10 min

MySQL Database

10 min

Connect to MySQL

10 min

Create Database

10 min

Recap Quiz

5 Questions

Create Table

10 min

Insert Data

10 min

Get Last ID

10 min

Recap Quiz

5 Questions

Insert Multiple

10 min

Prepared Statements

10 min

Select Data

10 min

Recap Quiz

5 Questions

Delete Data

10 min

Update Data

10 min

Limit Data

10 min

Recap Quiz

5 Questions

Progress
0%

0 / 61 Lessons

PHPPHP MySQL
Lesson

Select Data

10 min reading
Free Course

Querying & Fetching Data (SELECT, fetch(), fetchAll())

Executing SELECT queries retrieves matching rows from MySQL database tables. PDO provides flexible fetch modes like PDO::FETCH_ASSOC, PDO::FETCH_OBJ, and PDO::FETCH_COLUMN.

Fetch Modes Comparison

  • PDO::FETCH_ASSOC: Returns row as associative array (['id' => 1, 'name' => 'Alice']).
  • PDO::FETCH_OBJ: Returns row as stdClass object ($row->name).
  • PDO::FETCH_COLUMN: Returns a single column array from all matching rows.
flowchart TD
    A["$stmt->execute()"] --> B{"Choose Fetch Method"}
    B -- Single Row --> C["$row = $stmt->fetch(PDO::FETCH_ASSOC)"]
    B -- All Matching Rows --> D["$rows = $stmt->fetchAll(PDO::FETCH_ASSOC)"]
    B -- Iterate One By One (Low Memory) --> E["while ($row = $stmt->fetch()) { ... }"]

Practical Code Example

<?php
declare(strict_types=1);

try {
    $pdo = new PDO("mysql:host=127.0.0.1;dbname=ecommerce_db;charset=utf8mb4", 'root', 'secret_password', [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
    ]);

    // 1. Fetching Multiple Rows with fetchAll()
    $sql = "SELECT id, username, email FROM users WHERE status = :status ORDER BY id DESC";
    $stmt = $pdo->prepare($sql);
    $stmt->execute(['status' => 'active']);
    $users = $stmt->fetchAll();

    echo "--- Active Users List (" . count($users) . ") ---
";
    foreach ($users as $user) {
        echo "ID: {$user['id']} | User: {$user['username']} | Email: {$user['email']}
";
    }

    // 2. Fetching Single Row with fetch()
    $singleSql = "SELECT id, username, email FROM users WHERE id = :id";
    $singleStmt = $pdo->prepare($singleSql);
    $singleStmt->execute(['id' => 1]);
    $singleUser = $singleStmt->fetch();

    if ($singleUser) {
        echo "
Found Single User: " . $singleUser['username'] . "
";
    }

} catch (PDOException $e) {
    die("Query Execution Error: " . $e->getMessage());
}

Best Practices

  • Specify Column Names explicitly: Write SELECT id, name instead of SELECT * to reduce network and memory overhead.
  • Use fetch() in while Loops for Large Result Sets: Avoid memory spikes by fetching rows one at a time when processing thousands of records.
  • Check for false on fetch(): fetch() returns false when no matching record row is found.

Self-Check Challenge

What method on a PDOStatement object fetches ALL result rows at once into an array? ($stmt->fetchAll())

Save Your Progress

Unlock Your
Full Potential.

Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.

Quick Access With

Enterprise-Grade Security Protocol

Recommended Courses & Books

Try it Yourself

Experiment with the code from this lesson in our interactive playground.

Open Playground
Lesson Recap Quiz Available

Test Your Knowledge

You've completed this section! Take a quick 5-question quiz to check your understanding.

Stuck on this lesson?

Join our community of senior developers.

Ask in Forum