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

Хост, на котором запущен сервер баз данных

database

имя базы данных

username

Ипя пользователя

password

Пароль

persistent

Если persistent задать как DBX_PERSISTENT, то будет установлено постоянное соединение.

Параметры host, database, username и password ожидаются, но не всегда используются в зависимости от функции соединения конкретного расширения.

Возвращаемые значения

Возвращает объект в случае успеха, либо FALSE в обратном случае. Если соединение было установлено, но база данных не выбрана, то соединение будет закрыто и вернется FALSE.

Возвращенный объект object имеет три свойства:

database
Имя выбранной базы данных.
handle

Обработчик соединения. Его можно напрямую использовать в функциях расширения базы данных, в обход dbx.

<?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()

<?php
$link 
dbx_connect(DBX_ODBC"""db""username""password"DBX_PERSISTENT)
    or die(
"Could not connect");

echo 
"Connected successfully";
dbx_close($link);
?>

Примечания

Замечание:

Всегда внимательно изучайте документацию по расширению для используемой базы данных.

Смотрите также

  • dbx_close() - Закрыть открытое соединение/базу данных

add a note add a note

User Contributed Notes 5 notes

up
0
Anonymous
10 years ago
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');
up
0
BDKR at melnabone at mindless dt com
15 years ago
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
up
0
davidbullock at tech-center dot com
16 years ago
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".
up
0
jeremy at deadbeef dot com
16 years ago
Pear::DB seems like a better idea than this.  See http://pear.php.net
up
-1
Jon Moss
12 years ago
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
To Top