fonction connexion access

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2006, 09:36

Bonjour à tous,
j'ai créé une fonction de connexion à une bd access de la manière suivante:
$bd="trac"; // identifiant dsn
$user="root"; // login    
$password=""; // password   
$cnx = odbc_connect( $bd , $user, $password );
if( ! $cnx ) echo "Impossible de se connecter";
elle fonctionne bien, mais quand je mets le tout dans une fonction, ça ne marche pas:
function connexion() {
$bd="trac"; // identifiant dsn
$user="root"; // login    
$password=""; // password   
$cnx = odbc_connect( $bd , $user, $password );
if( ! $cnx ) echo "Impossible de se connecter";
echo $cnx; //test variable
}
je cherche à renvoyer la variable $cnx qui me sert dans le reste du code.
quand je fais echo $cnx, je reçois "ressource #id=4".
$cnx est-il un tableau, ne devrait-il pas contenir juste true/false? comment faire pour utiliser $cnx dans le reste du code?

Merci pour vos réponses.

Mammouth du PHP | 19672 Messages

10 avr. 2006, 09:53

Au lieu de "echo $cnx", fais plutôt "return $cnx" : une fonction exécute un code lorsqu'on l'appelle et retourne ou non une valeur. Dans le cas présent, elle doit retourner une ressource de connexion.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

10 avr. 2006, 10:26

a priori return $cnx renvoie qqch qui ne peut être récupéré par le reste du script.
je reçois undefined variable $cnx, comme si elle n'était pas définie.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

10 avr. 2006, 20:31

ne voyant pas ce que tu as testé on ne peut pas en dire plus.

quel est le script qui produit cette erreur ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute