Probleme connection base de donnée

ouissler -  
 ouissler -
Bonjour,

Je crée un formulaire pour intéragir avec une base de donnée (ajout/suppresion de table, affichage des champs d'une table etc...).

Mon script commence par un test, pour savoir si une base de données à été selectionnée. Si non, on tombe sur une liste qui affiche les base de données disponibles. Si oui, on a un formulaire présentant les différentes options mentionnées plus haut.

Mon problème, c'est que, une fois le test passé, je me connecte à la base de donnée, en utilisant la valeur de la base de donnée selectionnée récupérer en post, mais la connection échoue dés que je lance une fonction.

Voici mon code simplifié(Je ne laisse qu'une fonction):
<?php

	$strHost = "localhost";

	$strLogin = "root";

	$strPassword = "";

	$connection;

	$connection = mysql_connect($strHost, $strLogin, $strPassword) or die("connection impossible");
	

?>

<?php  
if(!isset($_POST['select_base'])){ ?>
	<form action="" method="post">
	<div id="structure">
		<p>STRUCTURE DE LA BASE</p>
		<select name="select_base">
			<option value="selectionnez une base">selectionnez une base</option>
			<?php 
			$query = "SHOW DATABASES";
			$result = mysql_query($query, $connection);
			while ($res = mysql_fetch_row($result)) {
			echo '<option value="'.$res[0].'">'.$res[0].'</option>';
			}
			?>
		</select>
		<input type="submit" value="Valider" />
	</div>
</form>

<?php 
}
else {

	//JE RECUPERE LE NOM DE LA BDD CHOISIE
	$strBase = $_POST['select_base'];

	mysql_select_db($strBase, $connection) or die("connection impossible 3");

?>

<form action="" method="post">

     <input type="submit" name="table" value="Afficher les tables" />

</form>

<?php
if(!empty($_POST)){

	if(isset($_POST['table'])){
	
		$query = "SHOW TABLES FROM ";
		$query .= $strBase;

		$result = mysql_query($query, $connection);
		
		while($res = mysql_fetch_row($result)){
		echo $res[0]."<br />";		
		}	
	}
}



Donc, lorsque je clique sur le bouton "afficher les tables", je me prend l'erreur "connexion impossible 3" dans la tête.
Si je met le nom de la base désirée dans la variable $strBase (ex: $strBase = "maBase") la connexion passe. Et pourtant si j'affiche $_POST['select_base'] je récupère bien la valeur "maBase".

Pourquoi ca ne fonctionne pas avec le $_POST['select_base']

Merci pour votre aide ^^
A voir également:

1 réponse

Alain_42 Messages postés 5413 Statut Membre 894
 
Bonsoir,

ce n'est pas un pb de connexion, mais ton script se déroule en plusieurs aapples et qd tu appelle pour afficher les tables tu n'a plus la sélection de la base c'est le coup d'avant.

essayes en modifiant ainsi

.......
//JE RECUPERE LE NOM DE LA BDD CHOISIE
	$strBase = $_POST['select_base'];

	

?>

<form action="" method="post">
	<input type="hidden" name="select_base" value="<?php echo $strBase; ?>">
     <input type="submit" name="table" value="Afficher les tables" />

</form>

<?php
if(!empty($_POST)){

	if(isset($_POST['table'])){
		$strBase=$_POST['select_base'];
		mysql_select_db($strBase, $connection) or die("connection impossible 3");
		$query = "SHOW TABLES FROM ";
		$query .= $strBase;

		$result = mysql_query($query, $connection);

.....................
0
ouissler
 
Merci pour ton aide. Je vois bien le problème maintenant ;)
0