Bonjour,
Désolé j'ai bien lu deux trois discussions sur le forum pour des prob. identiques mais je suis pas férru en PHP donc j'ai pas trouvé ma solution :
Au départ j'avais dév ca pour une base de donnée MS_SQL et ca tournait bien. Aujourd'ui en utilisant la même classe mais en m'appuyant sur les pilotes ODBC ca ne tourne plus et je ne trouve pas :
Donc j'ai une classe qui fait ma connesion sur mon serveur DB2 via mon pilote ODBC :
Ensuite j'ai une page qui fait appel à cette classe avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php class Database { var $serveur; var $user; var $password; var $db; function Database ($host='SERVEUR',$util='USER',$mdpasse='PWD') { $this->serveur=$host; $this->user=$util; $this->password=$mdpasse; $this->db=odbc_pconnect($this->serveur,$this->user,$this->password); } function __destruct() { } } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 include 'connect.class.php'; $mabase=new Database(); $result="select IHINVN, IHORNO from SROISH where IHINVN='7107000001'"; $result= odbc_do($mabase, $result);
Si dans ma classe je change le nom d'utilisateur passé pour la connexion ODBC, j'ai bien ne fenètre du client ODBC qui s'ouvre en me disant que l'utilisateur n'existe pas et me propose d'en saisir un autre. Si je change le mot de passe j'ai une erreur comme quoi le mote de passe est invalide. Donc ma classe semble fonctionner. (pas de soucis de conf du php.ini / include_path())
par contre lors de l'exécution de ma page principale, j'ai une erreur de type :
odbc_do() expects parameter 1 to be resource
Si je fais un écho de la variable $mabase il me dit qu'il ne peut pas la convertir en string.
Par ailleur j'ai testé de passer directement dans ma page principale la commande odbc_connect('SERVEUR','USER','PWD') et la pas de soucis ca fonctionne. (l'echo me renvoi alors in connection_id)
Je pense que je dois me prendre les pieds dans le tapis entre la fonction et la méthode mais ou ?
Je suis plutôt débutant en php, mais cela fonctionnait très bien avec la fonction mssql_connect() pour me connecter sur du MS_SQL 2000.
merci de vos lumières
Partager