The WHERE Clause is used to filter only those records that are fulfilled by a specific condition given by the user. in other words, the SQL WHERE clause is used to restrict the number of rows affected by a SELECT, UPDATE or DELETE query.
Syntax :
The basic syntax of the where clause is –
SELECT Column1 , Column2 , ….
FROM Table_Name
WHERE Condition
Implementation of WHERE Clause :
Let us consider the following table “Data” with three columns ‘FirstName’, ‘LastName’ and ‘Age’.

To select all the rows where the “Firstname” is “ram”, we will use the following code :
Where Clause using Procedural Method :
<? php
$ link = mysqli_connect ("localhost", "root", "", "Mydb");
if($link === false){
die("ERROR: Could not connect. "
. mysqli_connect_error());
}
$ sql = "SELECT * FROM Data WHERE Firstname='ram'" ;
if($ res = mysqli_query ($link, $sql)){
if(mysqli_num_rows($res) > 0){
echo "< table >";
echo "< tr >";
echo "< th >Firstname</ th >";
echo "< th >Lastname</ th >";
echo "< th >age</ th >";
echo "</ tr >";
while($row = mysqli_fetch_array($res)){
echo "< tr >";
echo "< td >" . $row['Firstname'] . "</ td >";
echo "< td >" . $row['Lastname'] . "</ td >";
echo "< td >" . $row['Age'] . "</ td >";
echo "</ tr >";
}
echo "</ table >";
mysqli_free_result($res);
} else{
echo "No Matching records are found.";
}
} else{
echo "ERROR: Could not able to execute $sql. "
. mysqli_error($link);
}
mysqli_close($link);
?>
|
Output :

Code Explanation :
- The “res” variable stores the data that is returned by the function mysql_query().
- Everytime mysqli_fetch_array() is invoked, it returns the next row from the res() set.
- The while loop is used to loop through all the rows of the table “data”.
Where Clause using Object Oriented Method :
<? php
$ mysqli = new mysqli("localhost", "root", "", "Mydb");
if($mysqli === false){
die("ERROR: Could not connect. "
. $mysqli->connect_error);
}
$sql = "SELECT * FROM Data WHERE Firstname='ram'";
if($res = $mysqli->query($sql)){
if($res->num_rows > 0){
echo "< table >";
echo "< tr >";
echo "< th >Firstname</ th >";
echo "< th >Lastname</ th >";
echo "< th >Age</ th >";
echo "</ tr >";
while($row = $res->fetch_array()){
echo "< tr >";
echo "< td >" . $row['Firstname'] . "</ td >";
echo "< td >" . $row['Lastname'] . "</ td >";
echo "< td >" . $row['Age'] . "</ td >";
echo "</ tr >";
}
echo "</ table >";
$res->free();
} else{
echo "No matching records are found.";
}
} else{
echo "ERROR: Could not able to execute $sql. "
. $mysqli->error;
}
$mysqli->close();
?>
|
Output :

Where Clause using PDO Method :
<? php
try{
$ pdo = new PDO(" mysql:host = localhost ;
dbname = Mydb ", "root", "");
$pdo->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("ERROR: Could not connect. "
. $e->getMessage());
}
try{
$sql = "SELECT * FROM Data WHERE Firstname='ram'";
$res = $pdo->query($sql);
if($res->rowCount() > 0){
echo "< table >";
echo "< tr >";
echo "< th >Firstname</ th >";
echo "< th >Lastname</ th >";
echo "< th >Age</ th >";
echo "</ tr >";
while($row = $res->fetch()){
echo "< tr >";
echo "< td >" . $row['Firstname'] . "</ td >";
echo "< td >" . $row['Lastname'] . "</ td >";
echo "< td >" . $row['Age'] . "</ td >";
echo "</ tr >";
}
echo "</ table >";
unset($res);
} else{
echo "No records matching are found.";
}
} catch(PDOException $e){
die("ERROR: Could not able to execute $sql. "
. $e->getMessage());
}
unset($pdo);
?>
|
Output :
