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.
sybase_connect
(PHP 4, PHP 5)
sybase_connect — Abre una conexión con un servidor Sybase
Descripción
sybase_connect() establece una conexión con un servidor Sybase.
En caso de que se realice una segunda llamada a sybase_connect() con los mismos argumentos, no se establece un nuevo enlace, en su lugar, se devolverá el identificador del enlace ya abierto.
El enlace con el servidor será cerrado tan pronto como finalice la ejecución del script, a menos que sea cerrado antes al llamar explícitamente sybase_close().
Lista de parámetros
- nombre_servidor
-
El argumento del nombre de servidor tiene que ser un nombre de servidor válido que esté definido en el archivo 'interfaces'.
- nombre_usuario
-
Nombre de usuario sybase
- contrasenya
-
Contraseña asociada con nombre_usuario .
- juego_caracteres
-
Especifica el juego de caracteres para la conexión
- nombre_aplicacion
-
Valores retornados
Devuelve un identificador de enlace Sybase positivo de tener éxito, o FALSE si fracasa.
Registro de cambios
| Versión | Descripción |
|---|---|
| 4.0.2 | El parámetro juego_caracteres fue agregado. |
Ejemplos
Example #1 Ejemplo de sybase_connect()
<?php
$enlace = sybase_connect('SYBASE', '', '')
or die("¡No pudo conectarse!");
echo "Se conectó satisfactoriamnete";
sybase_close($enlace);
?>
sybase_connect
15-Mar-2005 06:30
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'
);
15-Nov-2001 05: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...
18-Sep-2001 04: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 !
06-Apr-2000 12:38
To decrease the level of messages sent back from the dbserver (such as 'changed context...') try:
sybase_min_server_severity(11);
05-Feb-2000 03: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.
