What are common pitfalls when using mysql_real_escape_string in PHP for escaping variables?

Common pitfalls when using mysql_real_escape_string in PHP include forgetting to establish a connection to the MySQL database before calling the function, not properly escaping variables before using them in SQL queries, and not considering the character set of the database. To solve these issues, always establish a connection to the database, escape variables using mysql_real_escape_string before using them in queries, and ensure that the character set of the database and the connection are properly set.

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

// Check connection
if (!$connection) {
    die("Connection failed: " . mysqli_connect_error());
}

// Escape variables before using them in SQL queries
$escaped_variable = mysqli_real_escape_string($connection, $unescaped_variable);

// Use the escaped variable in a SQL query
$sql = "SELECT * FROM table WHERE column = '$escaped_variable'";
$result = mysqli_query($connection, $sql);

// Close the connection
mysqli_close($connection);