sybase_connect

(PHP 3, PHP 4, PHP 5)

sybase_connect -- Opens a Sybase server connection

Description

resource sybase_connect ( [string servername [, string username [, string password [, string charset [, string appname]]]]] )

Returns a positive Sybase link identifier on success, or FALSE on failure.

sybase_connect() establishes a connection to a Sybase server. The servername argument has to be a valid servername that is defined in the 'interfaces' file.

In case a second call is made to sybase_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned.

The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling sybase_close().

例子 1. sybase_connect() example

<?php
$link
= sybase_connect('SYBASE', '', '')
        or die(
"Could not connect !");
echo
"Connected successfully";
sybase_close($link);
?>

See also sybase_pconnect() and sybase_close().


add a note add a note User Contributed Notes
brunello95 at aol dot com
16-Mar-2005 02:30
freetds is a great, free tool to access your sybase tables with PHP. The setup can be a bit tricky. Use the following to put the environment variables that you need:
<?php
putenv
("SYBASE=/usr/local/freetds");
putenv ("SYBPLATFORM=linux");
putenv ("LD_LIBRARY_PATH=/usr/local/freetds/lib");
putenv ("LC_ALL=default");
putenv ('PATH=\"/usr/local/freetds/bin:$PATH\"');
putenv ("DSQUERY=SYBASE");
?>
Even if not using freetds, you'll need those env vars to make any sybase connection work. Another option is to just load them into your box from the command line.
23-Aug-2002 11:09
Set the appname using the 5th optional parameter:
http://lxr.php.net/source/php-src/ext/sybase_ct/php_sybase_ct.c#713

sybase_connect(
  $host= 'host',
  $user= 'user',
  $pass= 'pass',
  $charset= NULL,
  $appname= 'myapp'
);
Martin dot Man at seznam dot cz
16-Nov-2001 01:06
if you are going to use DSO version of php compiled with sybase support, check that apache is not linked against libdb2. In such case call to dbopen from libsybdb.so will result in a call to dbopen from libdb2.so which is loaded earlier that libsybdb.so, as a workaround either recompile apache without db2 support or link php staticaly with libsybdb.a.

the symptom of wrong behavior is that sybase_connect does not return neither 0 nor meaningful value, it simply returns nothing...
naguiwerian at netscape dot net
19-Sep-2001 12:31
To connect from win32 to Sybase on Unix , you can use sybase open client and make sure to use the hostname in sybase_connect as it is defined in the OC sql.ini file .. it worked that way !
bkw at weisshuhn dot de
06-Apr-2000 08:38
To decrease the level of messages sent back from the dbserver (such as 'changed context...') try:

     sybase_min_server_severity(11);
gregory at bnl dot gov
05-Feb-2000 11:35
If you are having trouble connecting to your sybase database on unix, try checking that the SYBASE environmental variable is set correctly. I was getting connection errors until I found out that this variable had not been set through the server.