To retrieve specific data from a MySQL database table based on certain conditions, you can use the WHERE clause in your SQL SELECT queries. This allows you to filter the results to only include rows that meet the specified conditions. Below are examples using both mysqli and PDO to select data from a users table based on a condition using the WHERE clause.
Here's an example of using mysqli to select rows from the users table where the id is equal to 1:
// Database credentials
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// ID to search for
$id = 1;
// SQL query with WHERE clause
$sql = "SELECT * FROM users WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $id); // "i" for integer
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
// Output data of each row
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>";
}
} else {
echo "0 results";
}
// Close connection
$conn->close();
Here's the same example using PDO :
// Database credentials
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";
try {
// Create connection
$conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// ID to search for
$id = 1;
// SQL query with WHERE clause
$sql = "SELECT * FROM users WHERE id = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
// Set the resulting array to associative
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
foreach ($result as $row) {
echo "ID: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>";
}
} else {
echo "0 results";
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
} finally {
// Close connection
$conn = null;
}
Running these scripts will select and output rows from the users table where the id matches the specified value ( 1 ). Adjust the condition in the WHERE clause as needed for your specific query.