Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ist mysql_real_escape_string() defekt?

Aus der C-API-Funktion von MySQL mysql_real_escape_string Beschreibung :

Wenn Sie den Zeichensatz der Verbindung ändern müssen, sollten Sie den mysql_set_character_set() Funktion, anstatt ein SET NAMES auszuführen (oder ZEICHENSATZ EINSTELLEN ) Erklärung. mysql_set_character_set() funktioniert wie SET NAMES wirkt sich aber auch auf den von mysql_real_escape_string() , die SET NAMES nicht.

Verwenden Sie also nicht SET NAMES /ZEICHENSATZ EINSTELLEN aber PHPs mysql_set_charset um die Codierung zu ändern, da dies das Gegenstück zu MySQLs mysql_set_character_set ist (siehe Quellcode von / ext/mysql/php_mysql.c ).