What are some best practices for implementing a search function in PHP that queries a MySQL database?

When implementing a search function in PHP that queries a MySQL database, it is important to sanitize user input to prevent SQL injection attacks. Additionally, using prepared statements can help improve performance and security. Finally, consider implementing pagination to display search results in a user-friendly manner.

<?php
// Assuming $conn is the MySQL database connection

$searchTerm = $_GET['search'];

// Sanitize user input
$searchTerm = mysqli_real_escape_string($conn, $searchTerm);

// Prepare the SQL query using a prepared statement
$stmt = $conn->prepare("SELECT * FROM table_name WHERE column_name LIKE ?");
$stmt->bind_param("s", $searchTerm);

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

// Display search results
while ($row = $result->fetch_assoc()) {
    // Display search results here
}

$stmt->close();
$conn->close();
?>