downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

dbx_error> <dbx_compare
[edit] Last updated: Fri, 25 May 2012

view this page in

dbx_connect

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

dbx_connect接続/データベースをオープンする

説明

object dbx_connect ( mixed $module , string $host , string $database , string $username , string $password [, int $persistent ] )

データベースへの接続をオープンします。

パラメータ

module

module パラメータには文字列または定数を設定します。 定数の使用が推奨されます。指定可能な値を以下に示しますが、これは 該当するモジュールが実際にロードされている場合のみ動作することに注意してください。

  • DBX_MYSQL あるいは "mysql"
  • DBX_ODBC あるいは "odbc"
  • DBX_PGSQL あるいは "pgsql"
  • DBX_MSSQL あるいは "mssql"
  • DBX_FBSQL あるいは "fbsql"
  • DBX_SYBASECT あるいは "sybase_ct"
  • DBX_OCI8 あるいは "oci8"
  • DBX_SQLITE あるいは "sqlite"

host

SQL サーバーのホスト。

database

データベース名。

username

ユーザー名。

password

パスワード。

persistent

persistent パラメータに DBX_PERSISTENT を設定すると、持続的接続が作成されます。

hostdatabaseusername および password のパラメータを受け付けますが、抽象化されたモジュールの接続関数によっては これらがすべて使われるわけではないこともあります。

返り値

dbx_connect() は成功時にオブジェクト、エラー時に FALSE を返します。接続は確立したもののデータベースが選択できなかった場合には、 接続はクローズされて FALSE を返します。

返される object は 3 つのプロパティを有します。

database
現在選択されているデータベースの名前。
handle

接続されたデータベースの有効なハンドルで、モジュール固有の関数に (必要に応じて)使用されます。

<?php
$link 
dbx_connect(DBX_MYSQL"localhost""db""username""password");
mysql_close($link->handle); // dbx_close($link) の方が良いかもしれません
?>

module
dbx の内部でのみ使用され、上で述べたモジュール番号を表します。

変更履歴

バージョン 説明
5.0.0 DBX_SQLITE が追加されました。
4.3.0 DBX_OCI8 が追加されました。
4.2.0 DBX_SYBASECT が追加されました。
4.1.0 DBX_FBSQL が追加されました。

例1 dbx_connect() example

<?php
$link 
dbx_connect(DBX_ODBC"""db""username""password"DBX_PERSISTENT)
    or die(
"接続できませんでした");

echo 
"接続に成功しました";
dbx_close($link);
?>

注意

注意:

モジュール固有のドキュメントも参照ください。

参考

  • dbx_close() - オープンされた接続/データベースを閉じる



dbx_error> <dbx_compare
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes dbx_connect
Anonymous 05-Dec-2007 04:58
If you get an error:
"Error while trying to retrieve text for error ORA-12154"
means that you didn't set the ORACLE_HOME, TNS_ADMIN and ORACLE_BASE variable.
If you are sure it's set as a system variable, you could solve the problem by use:
putenv('ORACLE_HOME=/your/oracle/home/beforebin');
Jon Moss 03-Mar-2005 11:50
I have been using dbx for a product at work and the need to use SQLite as a database popped up. However, I couldn't find any references to using it with dbx other than that you could and since SQLite doesn't seem to do the username password thing I was a little confused as to how to use it in dbx.

With a little research it seems that when using dbx_connect you only need to fill in the module name ('DBX_SQLITE') and the database (the file name for the database!) to get it working. e.g.

$link = dbx_connect(DBX_SQLITE, "", "some.db", "", "");

thought someone might find it useful, especially since it no longer required additional dll's in version 5.x
BDKR at melnabone at mindless dt com 07-Dec-2002 03:18
The advantage that this has over Pear, Adob, and even Eclipse is speed. As some one put elsewhere,

"Yes, there is an advantage: Speed!
ext/dbx is written in C and has to be compiled into PHP. It's just faster then the PEAR classes."

Cheers,
BDKR
davidbullock at tech-center dot com 07-Jan-2002 03:01
Currently to connect to the PostgreSQL backend, you have to supply both a username, and a password or the dbx pgsql module attempts to connect as "nobody".
jeremy at deadbeef dot com 23-Jul-2001 07:54
Pear::DB seems like a better idea than this.  See http://pear.php.net

 
show source | credits | stats | sitemap | contact | advertising | mirror sites