What best practices should be followed when selecting recipients in a PHP script?

When selecting recipients in a PHP script, it is important to validate user input to prevent any potential security vulnerabilities such as SQL injection or cross-site scripting attacks. One way to do this is by using prepared statements with parameterized queries to sanitize input and prevent malicious code execution.

// Example of selecting recipients in a PHP script with prepared statements

// Assuming $conn is your database connection

// Validate user input
$user_input = $_POST['recipient_id'];
if(!is_numeric($user_input)) {
    // Handle invalid input
    die("Invalid recipient ID");
}

// Prepare and execute the query using a prepared statement
$stmt = $conn->prepare("SELECT * FROM recipients WHERE id = ?");
$stmt->bind_param("i", $user_input);
$stmt->execute();

// Fetch the results
$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
    // Process the recipient data
}

// Close the statement and connection
$stmt->close();
$conn->close();