Connexion à BDD mais pas d'affichage apres connexon

13nautes
Invité n'ayant pas de compte PHPfrance

05 mai 2006, 12:02

Bonjout à tous,

j'ai un petit probleme avec mon application web.

Lorsque je lance mon allication sur le local, elle se lance, se connecte à mysql, passe le session_start() sans probleme, mais ne renvoie rien apres. Comme si elle s'arretait à la premiere fonction qui est la connexion.

ma fonction est " new connexion($host,$user,$pass,$bdd);

Dans cette fonction je met des gestion d'erreur partout,
dedans il y a un @mysql_connect() , un @mysql_select_db() avec des or die ()
mais dans mon appication, apparement il se connecte à mysql, se connecte à la BDD et puis plus rien ....

J'ai mis un test d'erreur juste apres la fonction (echo "toto";) et il ne passe pas ... donc il reste coincé dans la fonction mais je ne vois pas pourkoi ?

merci de m'éclairer un peu sur le sujet !!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 mai 2006, 12:09

Un petit bout de code serait pas mal pour y voir un peu plus clair (de ta fonction et un p'tit extrait de l'endroit où tu l'appelles)

A mon avis, tu peux déjà virer les @ de tes fonctions, comme ça s'il y a des warning il apparaitront et tu auras peut être quelques infos en plus...

Invité
Invité n'ayant pas de compte PHPfrance

05 mai 2006, 12:19

Voila un petit bou de mon code simplifié ...
En fait j'ai tout mis dans une class que j'apelle apres ...
j'ai séparé tout les fonctions au cas ou j'en aurais besoin pour d'autre truc

Code : Tout sélectionner

class connexion { function mysql($host,$user,$pass) { @mysql_connect($host,$user,$pass) or die(mysql_error()); } function bdd($bdd) { @mysql_select_db($bdd) or die("Impossible de se connecter à la base de données $bdd"); } function connexion($host,$user,$pass, $bdd){ if ($this->con != true){ $this->mysql($host,$user,$pass); $this->bdd($bdd); $this->con = true; } } }
Puis dans ma premiere page (index.php)

Code : Tout sélectionner

<?php session_start () ; include 'config.php' ; // ici sont stockés les infos pour la connexion, question de sécuritée new connexion($host,$user,$pass,$bdd); echo "toto"; //trace pour debug ... qui ne s'affiche pas d'ailleur

Est ce que cela pourrait venir de mon fichier de config ?
Il doit etre bon puisque je le renseigne de mon host, user, pass et bdd .... et il ne me renvoie pas d'erreur !!!

Eléphant du PHP | 493 Messages

05 mai 2006, 12:23

Il faut que tu renommes la fonction mysql en connexion ;)

13nautes
Invité n'ayant pas de compte PHPfrance

05 mai 2006, 12:26

Pourkoi ca .... je ne vois pas le souci ... puisqu'elle incluse dans la fonction connexion
normalement il ne devrais pas y avoir de probleme ....

Eléphant du PHP | 493 Messages

05 mai 2006, 13:13

Euh ... ouai j'avais pas vu désolé :lol:

EDIT:
si tu mets des @, les or ne vont pas se déclancher !

13nautes
Invité n'ayant pas de compte PHPfrance

05 mai 2006, 13:42

Nan c'est pas ca ..... car j'ai essayer en modifiant le fichier de config, en mettant une base de donné imaginaire ... ou un faux user .... et cela m'affiche bien mes erreurs .....

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 mai 2006, 14:11

Je viens d'essayer ton code tel quel en remplaçant tes variables de connexion par mes valeurs, et j'ai bien le "toto" d'afficher.... un print_r de l'objet généré me donne :
connexion Object ( [con] => 1 )

bref, tout semble bien au niveau code.. je pense qu'il ne te reste plus qu'à tracer en collant du echo de partout (dant ton objet avant et apres le if, avant et apres l'appel aux fonctions mysql et voir quelle est la ligne qui te bloque...

13nautes
Invité n'ayant pas de compte PHPfrance

05 mai 2006, 14:51

[résolu]

C'est bon j'ai trouvé ...

En fait juste apres j'utilise le ldap .. et c'est la dedans que ca foire ... j'ai réussi à trouver mon probleme

Merci encore pour l'aide .... comme d'hab .. vous etes là .... Merci
8)