Intereting Posts

mysql выбрать запись с экранированной цитатой

У меня есть функция, в которой пользователи могут искать запись в текстовом поле. Ввод помещается в следующий SQL-запрос:

$db->query("Select * from users where name = '".$db->real_escape_string($posted_var)."' limit 1"); 

$ db – объект соединения mysqli

Работает идеально, пока у меня нет «имени». Тогда пользователю необходимо вручную избежать цитаты, чтобы получить ее, чтобы она соответствовала …….. Должна ли функция real_escape_string () делать это для меня?

У меня есть тестовая запись, где name – «test \» string »в базе данных.

 $posted_var = "test'string"; // no match $posted_var = "test\'string"; // match 

У кого-нибудь есть идея, почему real_escape_string () не будет добавлять обратную косую черту?

Сервер MySQL и эта конкретная таблица являются utf8_unicode_ci. Я не знаю, что еще может вызвать это ….

Спасибо за прочтение!