What is MySQL Select Statement?
The MySQL Select statement is used in Selecting one or more records in MySQL database.

MySQL Select Statement using PHP in MySQLi Procedural, MySQLi OOP, and PDO.
Syntax:
SELECT * from tableName;or
SELECT column1,column2 from tableName;The asterisks(*) symbol in our first example syntax represent all column in the database table.
In the second example, we specify the column name of a table.
Example using MySQLi (Object-Oriented):
<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "mysqltuts";
// Create connection
$conn = mysqli_connect($server, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// sql to Select record table
$sql = "SELECT `LNAME`, `FNAME`, `ADDRESS` from `tblpeople`";
$results = mysqli_query($conn, $sql);
echo "
";
?>
<table border='1'>
<tr>
<th>LAST NAME</th>
<th>FIRST NAME</th>
<th>ADDRESS</th>
</tr>
<tbody>
<?php
if (mysqli_num_rows($results) > 0) { // output data of each row
while ($row = mysqli_fetch_assoc($results)) {
echo "
<tr>
<td>" . $row["LNAME"] . "</td>
<td>" . $row["FNAME"] . "</td>
<td>" . $row["ADDRESS"] . "</td>
</tr>
";
}
} else {
echo "0 results";
}
?>
</tbody>
</table>
<?php
mysqli_close($conn);
?>Code explanation:
We just simply Select the Last name, First Name and Address of a person from our table, then we execute the query and store the results to the “$result” variable.
Next, using the num_rows function check if the result is greater than zero. And if the result is greater than zero, the fetch_assoc() function will store the result into an associative array so that we will be able to loop through the records.
The While Loop Loops through the result set and display the result inside the table data because we use table to display the result.
Example using MySQLi(Procedural):
<?PHP
$server = "localhost";
$username = "root";
$password = "";
$database = "mysqltuts";
// Create connection
$conn = mysqli_connect($server, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// sql to Insert record table
$sql = "SELECT `LNAME`, `FNAME`, `ADDRESS` from `tblpeople`";
$results = mysqli_query($conn , $sql);
echo "
";
?>
<table border='1'>
<tr>
<th>LAST NAME</th>
<th>FIRST NAME</th>
<th>ADDRESS</th>
</tr>
<tbody>
<?php
if (mysqli_num_rows($results) > 0) {// output data of each row
while($row = mysqli_fetch_assoc($results)) {
echo "
<tr>
<td>" . $row["LNAME"] . "</td>
<td>" . $row["FNAME"] . "</td>
<td>" . $row["ADDRESS"] . "</td>
</tr>
";
}
} else {
echo "0 results";
}
?>
</tbody>
</table>
<?php
mysqli_close($conn);
?>Example using PDO:
$sql = "SELECT `LNAME`, `FNAME`, `ADDRESS` from `tblpeople`";
$query = $conn->prepare( $sql );
$query->execute();
$results = $query->fetchAll( PDO::FETCH_ASSOC );
?>
foreach( $results as $row ){
echo "";
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "
<table border="1">
<tbody>
<tr>
<th>LAST NAME</th>
<th>FIRST NAME</th>
<th>ADDRESS</th>
</tr>
<tr>
<td>" . $row["LNAME"]. "</td>
<td>" . $row["FNAME"]. "</td>
<td>" . $row["ADDRESS"]. "</td>
</tr>
</tbody>
</table>
";
?>
The Output of the Code above looks as shown below.
Summary
In summary, we have discussed here how to use MySQL select statement using PHP in MySQLi Procedural, MySQLi OOP, and PDO.
If you have any questions or suggestions about this tutorial using PHP and MySQLi or PDO, please feel free to leave a comment below.
Frequently Asked Questions
How does this PHP project work?
Built with vanilla PHP (no framework) and MySQL backend. Standard structure: form HTML, PHP script handlers, MySQL via PDO or mysqli, sessions for auth, Bootstrap for responsive layout. Ready to extend for BSIT capstone scope.
What PHP and MySQL versions does this project require?
Most projects in this batch run on PHP 7.4 to PHP 8.2 with MySQL 5.7+ or MariaDB 10+. A few older projects need PHP 5.6 (deprecated, use XAMPP 7.x). To run: install XAMPP / WAMP / Laragon, extract project to htdocs, import the included .sql file via phpMyAdmin, edit the connection file (usually config.php or db_connect.php) with your DB credentials, browse to the project URL in your browser.
How do I set up the database for this PHP project?
Open phpMyAdmin (http://localhost/phpmyadmin/ on XAMPP), create a new empty database with the name specified in the project’s config.php. Click the Import tab, choose the included .sql file, click Go. Then edit config.php (or includes/connection.php) with: ‘localhost’, your MySQL username (usually ‘root’), your MySQL password (usually blank for XAMPP), and the database name.
Can I use this PHP project for a BSIT capstone or thesis?
Yes, but extend it. A bare CRUD app is too narrow for full capstone scope. Add: user roles via session checks, reports/dashboards (Chart.js + AJAX), PDF exports (TCPDF library), email notifications (PHPMailer), real domain extension (analytics, audit log, multi-branch support). Pair with Chapter 1-5 documentation matching your panel’s rubric.
Why am I getting ‘connection error’ or ‘undefined function mysqli_connect’?
Three common PHP issues: (1) Connection error: Apache + MySQL services not running in XAMPP control panel, OR database name in config.php does not match what you created in phpMyAdmin. (2) ‘undefined function mysqli_connect’: MySQL extension not enabled, in php.ini uncomment extension=mysqli (then restart Apache). (3) ‘No such file or directory’: MySQL socket path wrong, use 127.0.0.1 instead of localhost in the connection string.
Where can I find more PHP projects with source code?
Browse the PHP Projects hub for the full library (300+ vanilla PHP systems). For modern PHP MVC alternatives see Laravel Projects (74 systems) or CodeIgniter Projects (32 systems). For BSIT-focused capstone idea lists see 150 Best Capstone Project Ideas.


in this article i found some answer in my question and also deepen my understanding on how to use select query using php script.
Thanks for this tutorial but i can not figure out any differences in the code for php object oriented and the php procedural any difference