Puoi anche usare addslashes( $str ) nel caso.

Ricordati epro' di controllare sempre le gpc_magig_quotes perche' se sono abilitate e usi o mysql_real_escape oppure la addslashes ti torverai una stringa con i caratteri di escape duplicati il che potrebbe portarti al problema orignario ' == \\' che da errore.

EDIT :
Scusa ho postato prima di finire.

controlla sempre le magic quotes cosi'

Codice PHP:

$str 
="  ciao a todos ";

if( 
get_magic_quotes_gpc() )
{
    
$str addslashes($str);
    
// oppure
    
$str mysql_real_escape($str );

cosi' eviti che una eventuale stringa gia' controllata venga passata nuovamente ad una funziona di escaping.

es :

str = halo'
arriva da una form

gpc_quotes attivato

$_POST[STR] => halo\';
se la passi a una delle due funzioni sopracitate avrai
$str => halo\\'

quando poi la mette in query la query fallisce perche' \\ lo vede come \ e poi legge il carattere seguente che è ' e chiude la stringa anche se nn dovrebbe.

Fai attenzione.