Bonjour,
Je tente de faire ce petit 'moteur' pour créer une BD avec un nom qui n'existe pas.

Le scénario:
  1. Mettre le nom des bases dans un array
  2. Créer un premier nom de base aleatoire
  3. Tester s'il existe en bouclant l'array
  4. S'il existe re-créer un nom aléatoire
  5. Relancer le test

Mais ce 'moteur' ne tourne que deux fois.
En code ca fait:
Code php : 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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//*** Creation du tableau des noms de databases
	$array_db=array();	
	try { $sql = "SHOW DATABASES";$stmt = $bdd_appli->prepare($sql);$stmt->execute(array());
	         // Les mettre en array 
	         while ($results=$stmt->fetch()) { 
	         	array_push($array_db,$results[0]);
	         }
	      } catch(PDOException $e) {echo 'Erreur: '.$sql . "<br>" . $e->getMessage();$erreur="$_POST deconnect<br>".$sql;}
//*** Creation du tableau des noms de databases
 
//***  Function random pour créer le nom de la nouvelle base
function random($car) {
	$string = "";$chaine = "abcdefghijklmnopqrstuvwxyz0123456789";
	srand((double)microtime()*1000000);
	for($i=0; $i<$car; $i++) {$string .= $chaine[rand()%strlen($chaine)];}return $string;} 
//***  Function random pour créer le nom de la nouvelle base 
 
// Nom de la nouvelle base
	$db_name=random(5);;
 
 
//*** Function test_exist
$db_exist=0;
function test_exist($array_db,$db_name,$db_exist) {
 
	      foreach ($array_db as $key => $nom_base) {
 
	      	if ($nom_base==$db_name) {
	      		$db_exist=1;
	      		echo '<br>En test '.$db_name.' = '.$db_exist.'<br>';
				return $db_exist;
				exit();
	      	} // if 
	      } // foreach
 
	    }
//*** Function test_exist
 
 
if (test_exist($array_db,$db_name,$db_exist)==1) {
	echo $db_name.' exist<br>';
	$db_exist=0;
	$db_name=random(1);
	echo 'test de: '.$db_name;
	test_exist($array_db,$db_name,$db_exist);
}
else {
	echo '<hr>Else db name= '.$db_name;
}
Qu'en pensez-vous ?
C'est du n'importe quoi ?