PHP MySQL Select Data
Select Data From a MySQL Database
The SQL SELECT command is used to select data from
a table.
To select specific columns from a table, use the following:
SELECT column1, column2, column3
FROM table_name
To select ALL columns from a table, use the * character:
SELECT *
FROM table_name
To learn more about SQL, please visit our SQL tutorial.
Select Data With MySQLi
The following example selects the id, firstname and lastname columns from the MyGuests table and displays it on the page:
Example - MySQLi Object-oriented
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
// Execute the SQL query
$result = $conn->query($sql);
// Process
the result set
if ($result->num_rows > 0) {
// Output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
Run example »
Code Explanation
First, we set up an SQL query that selects the id, firstname and lastname columns from the MyGuests table.
The next line of code, $conn->query($sql), runs the query and puts the resulting data into a
variable called $result.
Then, the line $result->num_rows>0 checks if there are more than
0
rows returned.
If there are more than 0 rows returned, the
function fetch_assoc() puts the result
set into an associative array that we can loop
through. The while() loop loops through the result set and outputs the data from
the id, firstname and lastname columns.
The following example shows the same as the example above, in the MySQLi procedural way:
Example - MySQLi Procedural
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
// Execute the SQL query
$result = mysqli_query($conn, $sql);
//
Process the result set
if (mysqli_num_rows($result) > 0) {
// Output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
Run example »
Put Result in HTML Table
Here we put the result in an HTML table:
Example - MySQLi Object-oriented
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Name</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
Run example »
Select Data With PDO
The following example selects the id, firstname and lastname columns from the MyGuests table and displays it in an HTML table:
Example - PDO
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("Could not connect. " .
$e->getMessage());
}
try {
$sql = "SELECT id,
firstname, lastname FROM MyGuests";
// Execute the SQL query
$result = $conn->query($sql);
//
Process the result set
if ($result->rowCount() > 0) {
echo
"<table><tr><th>ID</th><th>Firstname</th><th>Lastname</th></tr>";
// Output data of each row
while($row = $result->fetch()) {
echo
"<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "</tr>";
}
echo "</table>";
unset($result);
else {
echo "No records
found.";
}
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
?>