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 — Ouvre une connexion à un serveur Sybase
Description
sybase_connect() établit une connexion à un serveur Sybase.
Si un deuxième appel à sybase_connect() est fait avec les mêmes arguments, une nouvelle connexion ne sera pas établie, mais ce sera l'identifiant de la connexion déjà ouverte qui sera retourné.
La connexion sera fermée dès la fin du script, à moins qu'elle ne soit pas explicitement fermée avec sybase_close().
Liste de paramètres
- servername
-
Le nom de serveur servername doit être valide, défini dans le fichier d'interface.
- username
-
Nom d'utilisateur Sybase
- password
-
Mot de passe associé à l'utilisateur username .
- charset
-
Spécifie le charset pour la connexion
- appname
-
Valeurs de retour
Retourne un identifiant de connexion Sybase positif en cas de succès, ou FALSE si une erreur survient.
Historique
| Version | Description |
|---|---|
| 4.0.2 | Le paramètre charset a été ajouté. |
Exemples
Exemple #1 Exemple avec sybase_connect()
<?php
$link = sybase_connect('SYBASE', '', '')
or die("Impossible de se connecter !");
echo "Connexion établie";
sybase_close($link);
?>
sybase_connect
15-Mar-2005 10: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 09: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 09: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 05:38
To decrease the level of messages sent back from the dbserver (such as 'changed context...') try:
sybase_min_server_severity(11);
04-Feb-2000 07: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.
