When working with relational databases in PHP, what are some common pitfalls to avoid?

One common pitfall when working with relational databases in PHP is not properly sanitizing user input before executing SQL queries, which can lead to SQL injection attacks. To avoid this, always use prepared statements with parameterized queries to securely interact with the database.

// Example of using prepared statements to avoid SQL injection

// Establish a database connection
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");

// Prepare a SQL statement with a placeholder for user input
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");

// Bind the user input to the placeholder
$stmt->bindParam(':username', $_POST['username']);

// Execute the query
$stmt->execute();

// Fetch the results
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Use the results as needed
foreach ($results as $row) {
    echo $row['username'] . "<br>";
}