PHP 5.4.36 Released

dbx_connect

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

dbx_connectAbrir una conexión/base de datos

Descripción

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

Abre una conexión a una base de datos.

Parámetros

module

El parámetro module puede ser una cadena o una constante, aunque se prefiere la segunda forma. Los valores posibles se dan a continuación, pero tenga en mente que sólo funcionan si en realidad el módulo está cargado.

  • DBX_MYSQL o "mysql"
  • DBX_ODBC o "odbc"
  • DBX_PGSQL o "pgsql"
  • DBX_MSSQL o "mssql"
  • DBX_FBSQL o "fbsql"
  • DBX_SYBASECT o "sybase_ct"
  • DBX_OCI8 o "oci8"
  • DBX_SQLITE o "sqlite"

host

El host servidor de SQL

database

El nombre de la base de datos

username

El nombre de usuario

password

La contraseña

persistent

El parámetro persistent puede ser establecido a DBX_PERSISTENT, si es así, se creará una conexión persistente.

Los parámetros host, database, username y password son comunes, pero no siempre se usan en las funciones de conexión para el módulo abstracto.

Valores devueltos

Devuelve un objeto si se tuvo éxito, FALSE si ocurrió un error. Si se ha hecho una conexión pero no se ha podido seleccionar la base de datos, la conexión se cerrará y se devolverá FALSE.

El objeto dado por object devuelto tiene tres propiedades:

database
Es el nombre de la base de datos seleccionada actualmente.
handle

Es un gestor válido para la base de datos conectada, y como tal se puede usar en funciones específicas del módulo (si se necesita).

<?php
$enlace 
dbx_connect(DBX_MYSQL"localhost""db""username""password");
mysql_close($enlace->handle); // dbx_close($enlace) sería mejor aquí
?>

module
Sólo se usa internamente por dbx y es en realidad el número de módulo mencionado arriba.

Historial de cambios

Versión Descripción
5.0.0 Se introdujo DBX_SQLITE.
4.3.0 Se introdujo DBX_OCI8.
4.2.0 Se introdujo DBX_SYBASECT.
4.1.0 Se introdujo DBX_FBSQL.

Ejemplos

Ejemplo #1 Ejemplo de dbx_connect()

<?php
$enlace 
dbx_connect(DBX_ODBC"""db""username""password"DBX_PERSISTENT)
    or die(
"No se pudo conectar");

echo 
"Conectado satisfactoriamente";
dbx_close($enlace);
?>

Notas

Nota:

Consulte siempre la documentación específica del módulo también.

Ver también

  • dbx_close() - Cierra una conexión/base de datos abierta

add a note add a note

User Contributed Notes 5 notes

up
0
Anonymous
7 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
12 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