(PHP 4, PHP 5)
sybase_connect — Opens a Sybase server connection
sybase_connect() establishes a connection to a Sybase server.
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().
The servername argument has to be a valid servername that is defined in the 'interfaces' file.
Sybase user name
Password associated with username.
Specifies the charset for the connection
Specifies an appname for the Sybase connection. This allow you to make separate connections in the same script to the same database. This may come handy when you have started a transaction in your current connection, and you need to be able to do a separate query which cannot be performed inside this transaction.
Whether to open a new connection or use the existing one.
Returns a positive Sybase link identifier on success, or FALSE on failure.
Version | Beschreibung |
---|---|
5.3.0 | The new parameter was added. |
4.2.0 | The appname parameter was added. |
4.0.2 | The charset parameter was added. |
Beispiel #1 sybase_connect() example
<?php
$link = sybase_connect('SYBASE', '', '')
or die("Could not connect !");
echo "Connected successfully";
sybase_close($link);
?>
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.
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 !
To decrease the level of messages sent back from the dbserver (such as 'changed context...') try:
sybase_min_server_severity(11);
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.