What are common pitfalls when connecting PHP to a SQL database?

Common pitfalls when connecting PHP to a SQL database include using insecure methods to pass user input into SQL queries, not properly handling errors, and not closing the database connection after use. To solve these issues, use prepared statements with parameterized queries to prevent SQL injection, implement error handling to catch and log any database errors, and always close the database connection when it is no longer needed.

// Connect to the database using PDO and prepared statements
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'username';
$password = 'password';

try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die('Connection failed: ' . $e->getMessage());
}

// Use prepared statements to prevent SQL injection
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');
$stmt->bindParam(':username', $username);
$stmt->execute();
$results = $stmt->fetchAll();

// Close the database connection when done
$pdo = null;