Bonjour,
Je tente de faire ce petit 'moteur' pour créer une BD avec un nom qui n'existe pas.
Le scénario:
- Mettre le nom des bases dans un array
- Créer un premier nom de base aleatoire
- Tester s'il existe en bouclant l'array
- S'il existe re-créer un nom aléatoire
- Relancer le test
Mais ce 'moteur' ne tourne que deux fois.
En code ca fait:
Qu'en pensez-vous ?
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; }
C'est du n'importe quoi ?
Partager