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
Last updated: Fri, 13 Nov 2009

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
Last updated: Fri, 13 Nov 2009
 
add a note add a note User Contributed Notes
dbx_connect
Anonymous
06-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
04-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
editor at plummi dot de
26-Jan-2005 10:44
Pear:DB ist a great Idea, but it`s heavy and slower. I`ve tested dbx and Pear:DB with MySQL 4.0.23_Debian-1-log.

With Pear the Script used around 500 KiB of Memory and needed about 0.15s to 0.25s to complete.
With dbx it used around 80 KiB of Memory and needed around 0.09s to 0.11s to complete!

For ME, dbx is absolutly the best abstraktion around! :-)
Nice Work!!

Sascha Plumhoff
BDKR at melnabone at mindless dt com
08-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
webmaster at wizactive dot com
22-Feb-2002 11:39
ADOdb seems to be the best db-abstraction library in PHP. It's very fast also. You can get it from ADOdb homepage @ http://php.weblogs.com/adodb/
mboeren at php dot net
19-Feb-2002 09:35
The pgsql connecting as nobody if you don't supply a password issue has been solved in CVS.
davidbullock at tech-center dot com
08-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
24-Jul-2001 05:54
Pear::DB seems like a better idea than this.  See http://pear.php.net

dbx_error> <dbx_compare
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites