What are the advantages and disadvantages of using mysql_real_escape_string versus addslashes for sanitizing user input in PHP?

When sanitizing user input in PHP, using mysql_real_escape_string is generally considered more secure than addslashes when dealing with MySQL databases. mysql_real_escape_string is specifically designed to escape characters that could potentially be used in SQL injection attacks, while addslashes may not escape all characters properly. However, mysql_real_escape_string requires an active database connection, so if you are not using MySQL or do not have a database connection open, addslashes may be a suitable alternative.

// Using mysql_real_escape_string to sanitize user input for MySQL database
$user_input = "some user input";
$escaped_input = mysql_real_escape_string($user_input);
// Use $escaped_input in your SQL query

// Using addslashes as an alternative for sanitizing user input
$user_input = "some user input";
$escaped_input = addslashes($user_input);
// Use $escaped_input in your SQL query