mysql_excape_string

По документации нужно использовать только

mysql_real_escape_string

На сколько часто ошибается mysql_excape_string и можно ли в языках с поддержкой юникода использовать это?

Я думаю, что лучше использовать mysql_real_escape_string.

1 — эта функция использует не только юникод, а текущую кодировку подключения.

2 — создатели данной функции наверняка неглупые ребята и в процессе её разработки наступили не на одни грабли, о которых мы знать не можем.

3 — она работает явно быстрее.

Переходите на bind параметры. Кроме отсутствия вот таких проблем в плюс еще не будет повторного разбора запроса при каждом выполнении.

Helen,предлагаете в библиотеках вообще не делать метода query(string sql)? Боюсь пользователи не поймут пока что

Да. Жутко вредный метод, на сегодняшний день приносящий больше проблем, чем пользы. Потому что первое что видят, и используют, это его. а потом появляются вопросы, mysql_real_escape_string и mysql_escape_string, хотя не надо использовать ни то и ни другое...