# Sybase Functions

## Introduction

## Requirements

## Installation

To enable Sybase-DB support configure PHP --with-sybase[=DIR]. DIR is the Sybase home directory, defaults to /home/sybase. To enable Sybase-CT support configure PHP --with-sybase-ct[=DIR]. DIR is the Sybase home directory, defaults to /home/sybase.

## Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

Sybase configuration options
Name | Default | Changeable | Changelog
--- | --- | --- | ---
sybase.allow_persistent | "1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_persistent | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.max_links | "-1" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.0.2. PHP_INI_SYSTEM in PHP <= 4.0.3.
sybase.interface_file | "/usr/sybase/interfaces" | PHP_INI_SYSTEM |
sybase.min_error_severity | "10" | PHP_INI_ALL |
sybase.min_message_severity | "10" | PHP_INI_ALL |
sybase.compatability_mode | "0" | PHP_INI_ALL |
magic_quotes_sybase | "0" | PHP_INI_ALL | Removed in PHP 6.0.0.

Here's a short explanation of the configuration directives.

`sybase.allow_persistent` boolean

  Whether to allow persistent Sybase connections.

`sybase.max_persistent` integer

  The maximum number of persistent Sybase connections per process. -1 means no limit.

`sybase.max_links` integer

  The maximum number of Sybase connections per process, including persistent connections. -1 means no limit.

`sybase.min_error_severity` integer

  Minimum error severity to display.

`sybase.min_message_severity` integer

  Minimum message severity to display.

`sybase.compatability_mode` boolean

  Compatibility mode with old versions of PHP 3.0. If on, this will cause PHP to automatically assign types to results according to their Sybase type, instead of treating them all as strings. This compatibility mode will probably not stay around forever, so try applying whatever necessary changes to your code, and turn it off.

`magic_quotes_sybase` boolean

  If `magic_quotes_sybase` is on, a single-quote is escaped with a single-quote instead of a backslash if magic_quotes_gpc or magic_quotes_runtime are enabled.

  > Note: Note that when `magic_quotes_sybase` is ON it completely overrides `magic_quotes_gpc` . In this case even when `magic_quotes_gpc` is enabled neither double quotes, backslashes or NUL's will be escaped.

Sybase-CT configuration options
Name | Default | Changeable | Changelog
--- | --- | --- | ---
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.max_links | "-1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.0.2. Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.min_server_severity | "10" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.min_client_severity | "10" | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.hostname | NULL | PHP_INI_ALL | Available since PHP 4.0.2. Removed in PHP 4.0.3.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Available since PHP 4.3.0.

Here's a short explanation of the configuration directives.

`sybct.allow_persistent` boolean

  Whether to allow persistent Sybase-CT connections. The default is on.

`sybct.max_persistent` integer

  The maximum number of persistent Sybase-CT connections per process. The default is -1 meaning unlimited.

`sybct.max_links` integer

  The maximum number of Sybase-CT connections per process, including persistent connections. The default is -1 meaning unlimited.

`sybct.min_server_severity` integer

  Server messages with severity greater than or equal to sybct.min_server_severity will be reported as warnings. This value can also be set from a script by calling sybase_min_server_severity(). The default is 10 which reports errors of information severity or greater.

`sybct.min_client_severity` integer

  Client library messages with severity greater than or equal to sybct.min_client_severity will be reported as warnings. This value can also be set from a script by calling sybase_min_client_severity(). The default is 10 which effectively disables reporting.

`sybct.login_timeout` integer

  The maximum time in seconds to wait for a connection attempt to succeed before returning failure. Note that if max_execution_time has been exceeded when a connection attempt times out, your script will be terminated before it can take action on failure. The default is one minute.

`sybct.timeout` integer

  The maximum time in seconds to wait for a select_db or query operation to succeed before returning failure. Note that if max_execution_time has been exceeded when an operation times out, your script will be terminated before it can take action on failure. The default is no limit.

`sybct.hostname` string

  The name of the host you claim to be connecting from, for display by sp_who. The default is none.

`sybct.deadlock_retry_count` int

  Allows you to define how often deadlocks are to be retried. The default is -1, or "forever".

For further details and definitions of the PHP_INI_* constants, see the php.ini directives.

## Resource Types

## Predefined Constants

This extension has no constants defined.

## Table of Contents

- sybase_affected_rows — Gets number of affected rows in last query
- sybase_close — Closes a Sybase connection
- sybase_connect — Opens a Sybase server connection
- sybase_data_seek — Moves internal row pointer
- sybase_deadlock_retry_count — Sets the deadlock retry count
- sybase_fetch_array — Fetch row as array
- sybase_fetch_assoc — Fetch a result row as an associative array
- sybase_fetch_field — Get field information from a result
- sybase_fetch_object — Fetch a row as an object
- sybase_fetch_row — Get a result row as an enumerated array
- sybase_field_seek — Sets field offset
- sybase_free_result — Frees result memory
- sybase_get_last_message — Returns the last message from the server
- sybase_min_client_severity — Sets minimum client severity
- sybase_min_error_severity — Sets minimum error severity
- sybase_min_message_severity — Sets minimum message severity
- sybase_min_server_severity — Sets minimum server severity
- sybase_num_fields — Gets the number of fields in a result set
- sybase_num_rows — Get number of rows in a result set
- sybase_pconnect — Open persistent Sybase connection
- sybase_query — Sends a Sybase query
- sybase_result — Get result data
- sybase_select_db — Selects a Sybase database
- sybase_set_message_handler — Sets the handler called when a server message is raised
- sybase_unbuffered_query — Send a Sybase query and do not block