What are potential pitfalls when using PHP to search for multiple parameters?

When searching for multiple parameters in PHP, a potential pitfall is not properly sanitizing user input, which can lead to SQL injection attacks. To prevent this, use prepared statements with parameterized queries to securely interact with the database.

// Example of using prepared statements to search for multiple parameters securely

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

// User input
$searchTerm1 = $_POST['searchTerm1'];
$searchTerm2 = $_POST['searchTerm2'];

// Prepare a statement with placeholders
$stmt = $pdo->prepare("SELECT * FROM mytable WHERE column1 = :searchTerm1 AND column2 = :searchTerm2");

// Bind the parameters
$stmt->bindParam(':searchTerm1', $searchTerm1);
$stmt->bindParam(':searchTerm2', $searchTerm2);

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

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

// Loop through the results
foreach ($results as $row) {
    // Output or process the data
}