Запрос с словами, в которых есть апостроф
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Запрос с словами, в которых есть апостроф Expand / Collapse
Автор
Сообщение
14.05.2007 13:36
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 28.12.2007 15:30
Сообщ.: 245, Visits: 2 102
При выполнении запросов типа

select * from `biznesmen` where `FIO` like '%$people[0] $people[1] $people[2]%'

$people[0] $people[1] $people[2] - в этих переменных могут быть апострофи

Дает ошибку You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ясич Андрій Петрович%'' at line 1

Что можно сделать?

Как все записи с апострофом заменить на записи с '' вместо одного апострофа?

Сообщ. #913234
14.05.2007 14:17
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Заменяй одинарный апостроф двойным.
Сообщ. #913238
14.05.2007 15:01
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 28.12.2007 15:30
Сообщ.: 245, Visits: 2 102
bazile (14.05.2007)
Заменяй одинарный апостроф двойным.

Как это сделать в Mysql через update?

Сообщ. #913240
14.05.2007 15:23
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Ты не понял. Чтобы SQL не воспринимал апостроф как спец. символ - его нужно удвоить. Например,

select * from biznesmen where FIO like '%имя''фамилия%'

Обрати внимание на двойной апостроф внутри строки, он будет воспринят как один.

Заменить все апострофы на кавычки можно с помощью функции REPLACE.

Сообщ. #913245
09.08.2007 18:57
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 03.10.2007 17:30
Сообщ.: 18, Visits: 187
Так же можно воспользоваться mysql_escape_string
Сообщ. #915264
07.09.2007 20:07
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 25.02.2008 9:12
Сообщ.: 24, Visits: 281
Я это делаю так

$P=str_replace("'","′",$P);

Сообщ. #915819
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 5:50