dbx_connect
(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)
dbx_connect — Open a connection/database
Описание
$module
, string $host
, string $database
, string $username
, string $password
[, int $persistent
] )Opens a connection to a database.
Список параметров
-
module
-
The
module
parameter can be either a string or a constant, though the latter form is preferred. The possible values are given below, but keep in mind that they only work if the module is actually loaded.-
DBX_MYSQL
or "mysql" -
DBX_ODBC
or "odbc" -
DBX_PGSQL
or "pgsql" -
DBX_MSSQL
or "mssql" -
DBX_FBSQL
or "fbsql" -
DBX_SYBASECT
or "sybase_ct" -
DBX_OCI8
or "oci8" -
DBX_SQLITE
or "sqlite"
-
-
host
-
The SQL server host
-
database
-
The database name
-
username
-
The username
-
password
-
The password
-
persistent
-
The
persistent
parameter can be set toDBX_PERSISTENT
, if so, a persistent connection will be created.
The host
, database
,
username
and password
parameters are expected, but not always used depending on the connect
functions for the abstracted module.
Возвращаемые значения
Returns an object on success, FALSE
on error. If a connection has been
made but the database could not be selected, the connection is closed and
FALSE
is returned.
The returned object has three properties:
- database
- It is the name of the currently selected database.
- handle
-
It is a valid handle for the connected database, and as such it can be used in module-specific functions (if required).
<?php
$link = dbx_connect(DBX_MYSQL, "localhost", "db", "username", "password");
mysql_close($link->handle); // dbx_close($link) would be better here
?> - module
- It is used internally by dbx only, and is actually the module number mentioned above.
Список изменений
Версия | Описание |
---|---|
5.0.0 |
Introduced DBX_SQLITE .
|
4.3.0 |
Introduced DBX_OCI8 .
|
4.2.0 |
Introduced DBX_SYBASECT .
|
4.1.0 |
Introduced DBX_FBSQL .
|
Примеры
Пример #1 dbx_connect() example
<?php
$link = dbx_connect(DBX_ODBC, "", "db", "username", "password", DBX_PERSISTENT)
or die("Could not connect");
echo "Connected successfully";
dbx_close($link);
?>
Примечания
Замечание:
Always refer to the module-specific documentation as well.
Коментарии
Pear::DB seems like a better idea than this. See http://pear.php.net
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".
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
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
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');