integer ldap_search(resource connection, string dn, string filter, array attributes, boolean attributes_only, integer size_limit, integer time_limit, integer dereference)
Функция ldap_search (листинг 17.10) аналогична функциям ldap_list и ldap_read. Различие заключается в том, что она производит поиск соответствий, начиная с текущего каталога по всем подкаталогам. Аргумент attributes является необязательным и определяет набор атрибутов, которые должны иметь все соответствующие критерию записи.
Необязательный аргумент atributes_only приводит к возвращению функцией ldap_list только атрибутов. Необязательные аргументы size_limit и time_limit соответственно ограничивают количество возвращаемых записей или время в секундах, необходимое для выборки результатов. Необязательный аргумент dereference управляет разрешением ссылок, и в нем задаются константы, приведенные в табл. 17.7.
Базы данных
print("There are " . $entry["count"] . " people.<br>n"); //занести все записи в массив для последующей сортировки $person = array(); for($i=0; $i < $entry["count"];
{
$person[$i]["full"] = $entry[$i]["cn"][0]; $person[$i]["last"] = $entry[$i]["sn"][0];
}
//отсортировать сначала по фамилии, а потом по имени с использова­нием
//compareEntry (определено выше)
usort($person, "compareEntry");
// пройти каждую запись
for($i=0; $i < $entry["count"]; $i++)
{
print("{$person[$i]["last"]} ".
"({$person[$i]["full"]})<br>n");
}
// освободить память, использованную при поиске ldap_free_result($result);
?>

boolean ldap_set_option(resource connection, integer option, value)
Функция ldap_set_option задает значение параметра LDAP (см. табл. 17.6).
boolean ldap_sort(resource connection, resource result, string filter)
Функция ldap_sort сортирует результирующий набор в соответствии с порядком атрибутов, заданных фильтром, а затем по значениям этих атрибутов.
boolean ldap_start_tls(resource connection)
Функция ldap_start_tls активизирует обмен данными с сервером на уровне транспортной безопасности (Transport Security Layer, TSL).
boolean ldap_unbind(resource connection)
Функция ldap_unbind является псевдонимом функции ldap_close.
17.4. СУБД MySQL
СУБД MySQL является реляционной базой данных, лицензия которой позволяет использовать ее бесплатно в большинстве некоммерческих приложений. Она имеет много возможностей, общих с СУБД mSQL, так как изначально разрабатывалась как более быстрое и более гибкое ее замещение. Действительно, MySQL была задумана для решения таких задач, и ее возможности превышают возможности многих коммерческих баз данных. Поэтому неудивительно, что СУБД MySQL стала объектом пристального внимания многих разработчиков программного обеспечения на PHP.
Для того чтобы подробнее узнать о СУБД MySQL, а также получить исходные коды и сами программы, посетите Web-узел <http://www.mysql.com/>. Скорость загрузки можно увеличить с помощью имеющихся в распоряжении разработчиков зазерка-ленных серверов. Если вы еще ищете пособие по MySQL, можете остановить свой выбор на моей книге MySQL. Библиотека профессионала.
Расширение MySQL было написано Зеевом Сураски (Zeev Suraski).
integer mysql_affected_rows(resource connection)
Функция mysql_affected_rows (листинг 17.11) возвращает количество строк, задействованных последим запросом, сделанным по указанному соединению с базой данных. Если аргумент connection не задан, предполагается работа с последним соединением. Если последним выполненным оператором является безусловный оператор DELETE, возвращается нуль.
Если необходимо определить, сколько строк вернул последний оператор SELECT, воспользуйтесь функцией mysql_num_rows.

Листинг 17.11. Функция mysql_affected_rows

<?php
// подключиться к серверу без пароля как пользователь freetrade
$db = mysql_connect("localhost", "freetrade", "");
//выбрать базу данных 'ft3'
mysql_select_db("ft3", $db);
// модифицировать несколько счетов
$Query = "UPDATE invoice " .
"SET Active = 'Y' " .
"WHERE ID < 100 "; $dbResult = mysql_query($Query, $db);
// показать пользователю, сколько строк было обработано $AffectedRows = mysql_affected_rows($db); print("$AffectedRows rows updated.<br>"); // закрыть соединение mysql_close($db);
?>

string mysql_client_encoding(resource connection)
Функция mysql_client_encoding возвращает кодировку, используемую соединением. При отсутствии аргумента connection PHP возвращает кодировку, использованную последним соединением.