Are there any PHP functions or libraries that can help with ensuring proper character handling in database searches?

When dealing with database searches in PHP, it's important to handle special characters properly to prevent SQL injection attacks and ensure accurate search results. One way to achieve this is by using parameterized queries or prepared statements to sanitize user input before executing the query. Additionally, PHP provides functions like mysqli_real_escape_string() to escape special characters in strings before sending them to the database.

// Establish a database connection
$connection = mysqli_connect("localhost", "username", "password", "database");

// Retrieve user input and sanitize it using mysqli_real_escape_string
$searchTerm = mysqli_real_escape_string($connection, $_GET['search']);

// Prepare a SQL query using a parameterized query
$query = "SELECT * FROM table WHERE column LIKE ?";
$statement = mysqli_prepare($connection, $query);
mysqli_stmt_bind_param($statement, "s", $searchTerm);
mysqli_stmt_execute($statement);

// Fetch results and display them
$result = mysqli_stmt_get_result($statement);
while ($row = mysqli_fetch_assoc($result)) {
    echo $row['column_name'];
}

// Close the statement and database connection
mysqli_stmt_close($statement);
mysqli_close($connection);