Salut à tous,
Je développe un script qui met à jour une base mysql a partir d'un fichier sql à l'aide de la commande exec...
Mon problème est que je n'arrive pas à récuperer le résultat en cas d'erreur...
J'ai remarque qu'avec une autre commande (genre ls -aux) le résultat affiché était renvoyé, est ce du au fait que la commande soit mysql ?
J'ai essayé d'autre fonction passthru , shell _exec, rien n'y fait...
Peut être y' a t'il un parametre a rajouter a la commande shell ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
$rep = JOB_ROOT_DATA.'sql';
$resultat = "";
$retour = "";
if(!$dir = opendir($rep)) trigger_error('Impossible d\'ouvrir le repertoire : '.$rep.'.',E_USER_ERROR);
while (false !== ($fichier = readdir($dir))) {
	if (($fichier != '.') && ($fichier != '..') && ($fichier != '...')) {
		exec('mysql -h localhost -u'.JOB_DB_USER.' -p'.JOB_DB_PASSWD.' '.JOB_DB_BASE.' < '.$rep.'/'.$fichier,$retour,$resultat);
		print $resultat;
		print $retour;
	}
}