What are the best practices for structuring SQL queries in PHP to avoid errors and improve code readability?

When structuring SQL queries in PHP, it is important to use prepared statements to prevent SQL injection attacks and improve code readability. Prepared statements separate the SQL query from the data, making it safer and easier to read. Additionally, using placeholders for dynamic data in the query helps avoid syntax errors and ensures proper data handling.

// Example of structuring SQL queries in PHP using prepared statements

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

// Prepare the SQL query with placeholders
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");

// Bind the parameter values to the placeholders
$username = 'john_doe';
$stmt->bindParam(':username', $username);

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

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

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