What best practices should be followed when constructing SQL queries in PHP for database insertion?

When constructing SQL queries in PHP for database insertion, it is crucial to use prepared statements to prevent SQL injection attacks. Prepared statements separate SQL logic from user input, making it impossible for malicious input to alter the SQL query. This practice helps ensure data integrity and security in your application.

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

// Prepare the SQL query using a prepared statement
$stmt = $pdo->prepare("INSERT INTO users (username, email) VALUES (:username, :email)");

// Bind parameters to the prepared statement
$stmt->bindParam(':username', $username);
$stmt->bindParam(':email', $email);

// Set the parameters
$username = 'john_doe';
$email = 'john.doe@example.com';

// Execute the prepared statement
$stmt->execute();