SunshinePHP Developer Conference 2015

dbx_connect

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

dbx_connectOuvre une connexion à une base de données

Description

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

Ouvre une connexion à une base de données.

Liste de paramètres

module

Le paramètre module peut être soit une chaîne, soit une constante. Les valeurs possibles de module sont listées ci-dessous, mais n'oubliez pas que cela fonctionnera que si le module associé est chargé.

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

host

L'hôte serveur SQL

database

Le nom de la base de données

username

Le nom d'utilisateur

password

Le mot de passe

persistent

Le paramètre persistent peut prendre la valeur DBX_PERSISTENT, pour créer une connexion persistante.

Les paramètres host, database, username et password sont attendus, mais ne sont pas toujours utiles, suivant la fonction de connexion de la base de données utilisée.

Valeurs de retour

Retourne un objet en cas de succès, FALSE si une erreur survient. Si une connexion a été faîte mais la base de données n'a pu être sélectionnée, la connexion sera fermée et FALSE sera retourné.

L'objet retourné object a trois propriétés :

database
Nom de la base de données sélectionnées
handle

Ressource de connexion de la base de données, et donc, elle peut être utilisée dans les fonctions spécifiques au module (si requis).

<?php
$link 
dbx_connect(DBX_MYSQL"localhost""db""username""password");
mysql_close($link->handle); // dbx_close($link) serait plus appropriée ici.
?>

module
Utiliser en interne par dbx uniquement et actuellement, correspond au numéro du module mentionné ci-dessus.

Historique

Version Description
5.0.0 Ajout de la constante DBX_SQLITE.
4.3.0 Ajout de la constante DBX_OCI8.
4.2.0 Ajout de la constante DBX_SYBASECT.
4.1.0 Ajout de la constante DBX_FBSQL.

Exemples

Exemple #1 Exemple avec dbx_connect()

<?php
$link 
dbx_connect(DBX_ODBC"""db""username""password"DBX_PERSISTENT)
    or die(
"Impossible de se connecter");

echo 
"Connexion réussie";
dbx_close($link);
?>

Notes

Note:

Reportez-vous à la documentation du module utilisé.

Voir aussi

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