ldap_add: неверный синтаксис - PullRequest
1 голос
/ 29 июля 2010

Я пытаюсь добавить запись Active Directory через PHP. CN содержит апостроф (одиночная кавычка), и я пытаюсь найти правильный способ избежать его.

Вещи, которые я пробовал:

$dn = "CN=Conan O'Brien,OU=test,DC=test";
ldap_add($link_id, $dn, $attributes);
ldap_add($link_id, addslashes($dn), $attributes);
ldap_add($link_id, str_replace("'", "\\39", $dn), $attributes);

Каждый из них дает одинаковую ошибку. Очевидно, я проверил, что этот код работает без апострофа в DN.

ldap_add(): Add: Invalid syntax

1 Ответ

0 голосов
/ 20 января 2011

Вам нужно использовать два апострофа вместо одного.Это потому, что один избегает другого.

\ escaping используется для специальных символов ("," ";" "=" и т. Д.) И шестнадцатеричных символов, которые используются, когда значение не имеет строкового представления.

...