PHP Unconference Europe 2015

sybase_connect

(PHP 4, PHP 5)

sybase_connectSybase サーバー接続をオープンする

説明

resource sybase_connect ([ string $servername [, string $username [, string $password [, string $charset [, string $appname [, bool $new = false ]]]]]] )

sybase_connect() は、Sybase サーバーへの接続を確立します。

同じ引数で sybase_connect() を 2 度コールした場合、 新たなリンクは確立されず、代わりに既にオープンされたリンクのリンク ID が返されます。

sybase_close() をコールすることにより明示的に閉じた場合を除き、 サーバーへのリンクはスクリプトの実行終了時に閉じられます。

パラメータ

servername

引数 servername は、'interfaces' ファイル中で定義された 有効なサーバー名である必要があります。

username

Sybase のユーザー名。

password

username のパスワード。

charset

接続に使用する文字セットを指定します。

appname

Sybase 接続用の appname を指定します。 これにより、ひとつのスクリプトから同じデータベースに複数の接続を行えるようになります。 現在の接続でトランザクションを開始し、 トランザクション内では実行できない別のクエリを実行したい場合などに便利です。

new

新しい接続を開くか、あるいは既存の接続を使用するかを指定します。

返り値

成功した場合に正の Sybase リンク ID、失敗した場合に FALSE を返します。

変更履歴

バージョン 説明
5.3.0 new パラメータが追加されました。

例1 sybase_connect() の例

<?php
$link 
sybase_connect('SYBASE''''')
        or die(
"接続できません !");
echo 
"接続に成功しました";
sybase_close($link);
?>

参考

add a note add a note

User Contributed Notes 4 notes

up
1
brunello95 at aol dot com
9 years ago
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.
up
0
naguiwerian at netscape dot net
13 years ago
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 !
up
0
gregory at bnl dot gov
14 years ago
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.
up
-1
bkw at weisshuhn dot de
14 years ago
To decrease the level of messages sent back from the dbserver (such as 'changed context...') try:

     sybase_min_server_severity(11);
To Top