Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PEAR > DB & MDB2
DB & MDB2 Forum d'entraide pour les bibliothèques DB et MDB2 du framework PEAR, permettant de manipuler les bases de données en PHP. Avant de poster -> tutoriels DB et MDB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/06/2007, 11h49   #1
Membre habitué
 
Inscription : mars 2007
Messages : 210
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mars 2007
Messages : 210
Points : 114
Points : 114
Par défaut [DB] problème avec include DB.php

Alors voila mon constructeur marche en local mais pas sur le serveur

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
	var $db;
	var $tablePrefix;
	var $userTablePrefix;
 
	function phpList($pathToPhpList=NULL) {
		// if no path specified, assume this file is in thephplist dir
		if (empty($pathToPhpList)) $pathToPhpList = dirname(__FILE__);
		// Include your phpList config.php file here
		require("$pathToPhpList/config/config.php");
		$this->tablePrefix = $table_prefix;
		$this->userTablePrefix = $usertable_prefix;
		// Setup and connect to the database (this only needs to be done once per session
		// You don't need to change anything here.
		include_once("DB.php");
		$this->db = DB::connect("mysql://$database_user:$database_password@$database_host/$database_name"); 
		if (DB::isError($this->db)) die($this->db->getMessage());
		$this->db->setFetchMode(DB_FETCHMODE_ASSOC);
	}
Pour debuguer j'ai rajouté des echo :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
	var $db;
	var $tablePrefix;
	var $userTablePrefix;
 
	function phpList($pathToPhpList=NULL) {
		// if no path specified, assume this file is in thephplist dir
		if (empty($pathToPhpList)) $pathToPhpList = dirname(__FILE__);
echo 'debut<br>';
		// Include your phpList config.php file here
		require("$pathToPhpList/config/config.php");
		$this->tablePrefix = $table_prefix;
		$this->userTablePrefix = $usertable_prefix;
echo 'suite<br>';
		// Setup and connect to the database (this only needs to be done once per session
		// You don't need to change anything here.
		include_once("DB.php");
echo 'include<br>';
		$this->db = DB::connect("mysql://$database_user:$database_password@$database_host/$database_name"); 
echo 'connecte<br>';
		if (DB::isError($this->db)) die($this->db->getMessage());
		$this->db->setFetchMode(DB_FETCHMODE_ASSOC);
echo 'fin';
	}
ca affiche jusqu'au include et puis aprés plus rien. Si l'erreur venai de la connexion ca me ferait quand meme les echo (et puis ca me ferai le message d'erreur aussi^^). Donc je pense que c'est peut etre un probleme de syntaxe dans la fonction connect (si c'est ca ca n'aurai pas du marcher en local) sinon ca vient du serveur?
xclam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 11h56   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
La méthode connect() c'est toi qui l'a définie ou elle existe déjà. Si c'est à toi tu peux montrer son code?

Et sinon pourquoi avoir fait un nouveau post au lieu de continuer dans celui-la : http://www.developpez.net/forums/sho...d.php?t=356280 ?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 12h04   #3
Membre habitué
 
Inscription : mars 2007
Messages : 210
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mars 2007
Messages : 210
Points : 114
Points : 114
1 - C'est la fonction de pear
http://pear.php.net/manual/fr/packag...db.connect.php

2 - Je pense pas que le probleme soit en rapport avec mysql mais plus un probleme de syntaxe ou une mauvaise utilisation de la fonction ou un probleme au niveau du serveur. Et puis j'aurais plus de reponse ici Et pour finir je l'ai mit en delestage^^
xclam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 12h11   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
dans la doc de isError() ils semblent utiliser PEAR::isError() plutot que DB::isError().

Sinon, si tu enleves ce qu'il y a apres le connect et que tu mets directement un "die("fin")" est-ce que tu vois bien le "fin" ?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 12h13   #5
Membre habitué
 
Inscription : mars 2007
Messages : 210
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mars 2007
Messages : 210
Points : 114
Points : 114
Non pas de 'fin'.
Le script semble bloquer sur cette fonction.

Est ce que cela pourrai venir de la configuration de php??


Peut etre une piste :
J'ai verifié le phpinfo sous xampp(la ou mon code marche) et dans Environement j'ai plein de variable pear ce que je n'ai pas sur mon serveur le probleme doit venir de la je pense
xclam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 17h15   #6
Membre habitué
 
Inscription : mars 2007
Messages : 210
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mars 2007
Messages : 210
Points : 114
Points : 114
Bon ca se precise, aprés verification des logs, il ne trouve pas le fichier DB.php
donc ce n'est pas un probleme de connexion^^

je n'ai pas touché à l'installation de pear et en regardant j'ai vu que le fichier DB.php ne se trouvait pas dans le dossier PEAR c'est grave?

Citation:
Envoyé par php.ini
include_path = ".:/home/sites/php-classes/:/usr/local/lib/php/PEAR/:/usr/local/lib/php/"
DB.php se trouve dans le repertoire php

Le include devrait fonctionner?


Probleme resolu : safe_mode=on je pouvais pas acceder a db.php depuis mon script...
xclam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h42.


 
 
 
 
Partenaires

Hébergement Web