integer sybase_affected_rows(resource connection)
Функция sybase_affected_rows (листинг 17.53) возвращает количество строк, обработанных оператором DELETE, INSERT или UPDATE. Если необязательный аргумент connection не задан, будет использоваться последнее соединение. Использование этой функции для определения строк, возвращаемых оператором SELECT, не имеет смысла.

Листинг 17.53. Функция sybase_affected_rows

<?php
// соединиться
$Link = @sybase_connect('falcon', 'leon', 'corephp'); //работа с базой данных "sample" @sybase_select_db("sample", $Link); // обновить определенные строки $Query = "UPDATE item " .
"SET Price = Price * 0.9 0 " .
"WHERE Price > 1.0 0 "; $Result = sybase_query($Query, $Link); // получить количество измененных строк $RowsChanged = sybase_affected_rows($Link); print("Обновлено $RowsChanged цен.<br>n"); // закрыть соединение sybase_close($Link);
?>
boolean sybase_close(resource connection)
Функция sybase_close закрывает соединение с базой данных. Строго говоря, ее использование необязательно, так как PHP автоматически закрывает все соединения после выполнения сценария. Если аргумент connection опущен, будет закрыто последнее открытое соединение.
integer sybase_connect(string server, string user, string password, string character_set)
Функция sybase_connect возвращает идентификатор соединения на основании аргументов server, user и password. Аргумент server задает действующее имя сервера, определенное в файле интерфейсов. Соединения, открытые функцией sybase_connect, автоматически закрываются после выполнения сценария. Сравните эту функцию с функцией sybase_pconnect. Необязательный аргумент character_set задает кодировку. 
boolean sybase_data_seek(integer result, integer row)
Функция sybase_data_seek (листинг 17.54) перемещает внутренний указатель на заданную строку. Нумерация строк начинается с нуля. Эта функция используется с функцией sybase_fetch_array, sybase_fetch_object или sybase_fetch_row для произвольного перемещения по результирующему набору.

j Листинг 17.54. Функции sybase_data_seek и sybase_fetch_row
<?php
// соединиться
$Link = @sybase_connect('falcon', 'leon', 'corephp'); //работать с базой данных "sample" @sybase_select_db("sample", $Link); //получить все товары
$Query = "SELECT ID, Name, Price " .
"FROM item ";
$Result = sybase_query($Query, $Link); // перейти на третью строку sybase_data_seek($Result, 2); print("<table border="1">n"); // получить строки
while($Row = sybase_fetch_row($Result))
{
print("<tr>n");
print("<td>" . $Row[0] . "</td>n"); print("<td>" . $Row[1] . "</td>n"); print("<td>" . $Row[2] . "</td>n"); print("</tr>n");
}
print("</table>n"); // закрыть соединение sybase_close($Link);
?>

sybase_deadlock_retry_count(integer retries)
Функция sybase_deadlock_retry_count задает количество попыток при блокировке. По умолчанию PHP предпринимает попытки восстановления бесконечное число раз. Этого же можно добиться, задав для аргумента retries значение -1. Установка значения, равного 0, указывает не предпринимать попыток восстановления. Это значение можно задать в конфигурационном файле php.ini.
array sybase_fetch_array(integer result)
Функция sybase_fetch_array возвращает массив, содержащий все поля для сле­дующей строки. Каждый вызов функции sybase_fetch_array задает следующую строку результирующего набора или возвращает значение FALSE, если строк больше не осталось. Каждому полю соответствуют два элемента. Один проиндексирован по номеру поля, начиная с нуля, другой элемент проиндексирован по имени поля. Сравните эту функцию с функциями sybase_fetch_assoc и sybase_fetch_row. 
array sybase_fetch_assoc(integer result)
Функция sybase_fetch_assoc (листинг 17.55) возвращает массив, содержащий значения всех полей для следующей строки. Каждый вызов функции sybase_fetch_assoc задает следующую строку результирующего набора или воз­вращает значение FALSE, если строк больше не осталось. Каждое поле возвращается проиндексированным по имени поля. Если результат содержит более одного столбца с одинаковыми именами, PHP добавляет в конец индекса число. Например, если у вас имеется три столбца с именами Price, возвращаемая строка будет содержать Price, Price1 и Price2.
Сравните эту функцию с функциями sybase_fetch_array и sybase_fetch_row.

Листинг 17.55. Функции sybase_fetch_assoc и sybase_fetch_field

<?php
// соединиться
$Link = @sybase_connect('falcon', 'leon', 'corephp'); //работать с базой данных "sample" @sybase_select_db("sample", $Link); // получить все товары
$Query = "SELECT ID, Name, Price " .
"FROM item ";
$Result = sybase_query($Query, $Link); print("<table border="1">n"); print("<tr>n");
while($Field = sybase_fetch_field($Result))
{
print("<th>" .
"$Field->name $Field->type($Field->max_length)<br>" . "Numeric: " . ($Field->numeric ? 'YES' : 'NO') . "<br>" . "Source: $Field->column_source" .
"</th>n");
}
print("</tr>n"); // получить строки
while($Row = sybase_fetch_assoc($Result))
{
print("<tr>" . "<td>{$Row['ID']}</td>" . "<td>{$Row['Name']}</td>" . "<td>{$Row['Price']}</td>" .
"</tr>n");
}
print("</table>n"); // закрыть соединение sybase_close($Link);
?>

object sybase_fetch_field(integer result, integer field)
Функция sybase_fetch_field возвращает объект с описанием поля из результирующего набора. Аргумент field является необязательным. Если он опущен, возвращается следующее поле. Объект имеет свойства, описанные в табл. 17.14.
Базы данных