PHP Unconference Europe 2015

dbx_connect

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

dbx_connectInicia uma conexão/banco de dados

Descrição

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

Abre uma conexão para o banco de dados.

Parâmetros

module

O parâmetro módulo pode ser uma "string" ou uma constante, apesar da segunda forma ser a mais adequada. Os possíveis valres são listados abaixo, mas tenha em mente que eles somente irão funcionar se o módulo atual está carregado.

  • DBX_MYSQL ou "mysql"
  • DBX_ODBC ou "odbc"
  • DBX_PGSQL ou "pgsql"
  • DBX_MSSQL ou "mssql"
  • DBX_FBSQL ou "fbsql" (disponível à partir do PHP 4.1.0)
  • DBX_SYBASECT ou "sybase_ct" (disponível à partir do PHP 4.2.0)
  • DBX_OCI8 ou "oci8" (disponível à partir do PHP 4.3.0)
  • DBX_SQLITE ou "sqlite" (PHP 5)

host

O host do servidor SQL

database

O nome do banco de dados

username

O nome de usuário

password

A senha

persistent

O parâmetro persistent pode ser definido para DBX_PERSISTENT, dessa forma, a conexão persistente será criada.

Os parâmetros host, database, username e password são necessários, porém nem sempre usados depedendo das funções de conexão do módulo selecionado.

Valor Retornado

Retorna um objeto em sucesso, FALSE em erro. Se uma conexão foi feita mas o banco de dados não foi selecionado, a conexão é fechada e FALSE é retornado.

O objeto retornado contém três propriedades:

banco de dados
É o nome do banco de dados selecionado.
evento

É um evento válido para o banco de dados conectado, e como tal pode ser usado nas funções do módulo-específico (se necessário).

<?php
$link 
dbx_connect (DBX_MYSQL"localhost""bd""nome de usuário""senha");
mysql_close ($link->handle); // dbx_close($link) seria o mais apropiado
?>

módulo
É usado internamente pelo dbx, e é atualmente o número do módulo mencionado acima.

Exemplos

Exemplo #1 dbx_connect() exemplo

<?php
$link 
dbx_connect (DBX_ODBC"""bd""nome de usuário""senha"DBX_PERSISTENT)
    or die (
"Não foi possível conectar");

echo 
"Conexão realizada com sucesso.";
dbx_close ($link);
?>

Notas

Nota:

Sempre se referia à documentação do módulo-específico quando necessário.

Veja Também

add a note add a note

User Contributed Notes 5 notes

up
0
Anonymous
6 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
Jon Moss
9 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
up
0
BDKR at melnabone at mindless dt com
11 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
12 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
13 years ago
Pear::DB seems like a better idea than this.  See http://pear.php.net
To Top