What are the advantages and disadvantages of using prepared statements versus simple queries in PHP when fetching data from a database?

Prepared statements in PHP offer a higher level of security by automatically escaping user input, preventing SQL injection attacks. They also provide better performance by pre-compiling the SQL query, allowing it to be executed multiple times with different parameters. However, prepared statements can be slightly more complex to write and may not be necessary for simple queries where user input is not involved.

// Using prepared statements to fetch data from a database in PHP
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->bindParam(':username', $username);
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row) {
    // Process data
}