What best practices should be followed when sending SQL queries to a database in PHP?

When sending SQL queries to a database in PHP, it is important to use prepared statements to prevent SQL injection attacks. Prepared statements separate SQL code from user input, making it impossible for malicious code to be injected into the query. Additionally, it is recommended to validate and sanitize user input before using it in a query to further enhance security.

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

// Prepare a SQL query using a prepared statement
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');
$username = $_POST['username']; // Assuming this is user input
$stmt->bindParam(':username', $username);
$stmt->execute();

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