Bonjour,

J'ai des requêtes composées de deux boucles qui s'éxécute pendant 45mn environ (script avec méthode curl) pendant l'exécution j'ai des erreurs
de connexion du à la limite de connexion qui m'est imposer par hébergeur (Nombre de connexions simultanées 3).

Voici mon code simplifié:
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
$cn = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name) or die("Connexion à la base de donnée impossible");
 
$sql = "SELECT champ_1 FROM categorie"; 
$res = mysql_query($sql) or die($sql.mysql_error());
while ($res_a = mysql_fetch_array($res)) 
{
	// traitement ...
 
		$sql = "SELECT champ_2 FROM departement"; 
		$res = mysql_query($sql) or die($sql.mysql_error());
		while ($res_b = mysql_fetch_array($res)) 
		{		
			// traitement curl ...
			// puis sauvegarde du résultat ...			
		}
}
 
mysql_close($cn);
Comment pourrais je faire pour éviter ses problèmes ?

La table categorie contiens 42 champs à extraire et la table departement contiens 101 champs, j'ai penser à stocker les résultats dans deux array distinct en dur et de faire un forech exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
array ('auto','maison','divers' etc ...);
array ('paris','picardie','var' etc ...);
Mais je ne vois pas comment passer à la pratique, c'est à dire de parcourir les deux array comme le ferait deux boucle while.

Le but est de simuler deux boucles while faite par des requêtes normalement et de laisser travailler php à la place d'une requête mysql pour récupérer le résultat afin d'éviter de laisser les connexions trop longtemps ouvertes ...


Merci pour votre aide.