Récupère le nom des base de donné

Résolu
firpic Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   -  
firpic Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai fait un formulaire pour ajouter des vidéo dans une base donne par utilisateur mais je voudrait les récupère dans une variable pour après l'echo dans le 'insert' mais je ne peut pas récupéré le nom des DB comme sur la page suivant l'indiquait
https://www.commentcamarche.net/faq/18077-oracle-afficher-le-nom-des-base-de-donnees

et cela ne fonctionne pas.

voici mn code :

<?php
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//connexion à la bdd
require_once('config.php');
date_default_timezone_set('Europe/Paris');

// Récupération PROPRE des variables AVANT de les utiliser
// pour ça, j'utilise l'écriture ternaire ( sorte de IF/ELSE )
$DBchoo = !empty( $_POST['chooseDB']) ?  $_POST['chooseDB'] : NULL;
$nameEpi = !empty( $_POST['nameEpi']) ?  $_POST['nameEpi'] : NULL; 
$numEpi = !empty( $_POST['numEpi']) ?  $_POST['numEpi'] : NULL;
$linkEpi = !empty( $_POST['linkEpi']) ?  $_POST['linkEpi'] : NULL;

//recuperer les nom des base de donné
$DBl = mysqli_query($conn, "SELECT * FROM V$DATABASE");

// function pour verifier l'existance d'une DB
function checkDB ($DBchoo, $DBl){
	$checkDB = mysqli_query($conn, "SELECT * FROM `V$DATABASE` WHERE `$DBl`");
	if(!empty($checkDB)){
		$DBverif = $DBchoo;
	}
}

// ajout de l'epsiode 
function addEpi($nameEpi,$numEpi,$linkEpi){
  global $conn;
  $nameEpi = mysqli_real_escape_string($conn, $nameEpi); 
  $numEpi = mysqli_real_escape_string($conn, $numEpi);
  $linkEpi = mysqli_real_escape_string($conn, $linkEpi);
  $sql = "INSERT into `$DBverif` (epsiode, title, lien)
            VALUES ('$numEpi', '$nameEpi', '$linkEpi')";
  if (!mysqli_query($conn, $sql)) {
    printf("Message d'erreur : %s\n", mysqli_error($conn));
    return false;
  }else{
    return true; 
  }
   
}

//juste le temps des tests, pour voir si le formulaire s'envoie bien
echo "<br> ---> POST :";
var_dump($_POST);

//traitement du formulaire
if($nameEpi && $numEpi && $linkEpi){
	if( checkDB($DBverif, $DBl) ){
		$message = "Le nom de la Base de Donnée n'existe pas";
	}else{
		if( addEpi($nameEpi, $numEpi, $linkEpi)){
			$message = "Episode ajouter";
		}else{
			$message = "Erreur lors de l'insertion en BDD";
		}
	}
	
}
?>
<!DOCTYPE html>
<html>
  <head>
    <meta name="googlebot" content="noindex">
      <link rel="icon" type="images/png" sizes="512x512" href="android-chrome-512x512.png">
      <link rel="stylesheet" href="serie/allstyle.css">
      <link rel="stylesheet" href="style.css">
      <link rel="stylesheet" href="style1.css">
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Streawer</title>
  </head>
  <body style="background-color: #444444;">
    <!-- En-tête de la page-->
    <div class="entete" onclick="window.location.reload()">
        <img src="img/logo.png" id="logo" alt="Logo Streawer"/>
        <a href="main.php" id="nm" style="color: #4DB89A;"><h1 id="nom">Streawer</h1></a>
    </div>

    <form class="box" action="" method="post">
      <h1>Nouvelle episode</h1>
	  	<select name="chooseDB" id="chooseDB">
	  	<?php
			if(!empty($DBl)){
				echo '<option value="'.$DBl.'">'.$DBl.'</option>';
			}
		?>
	  	</select>
		<input type="text" class="box-input" name="nameEpi" placeholder="Nom de l'episode" required>
		<input type="text" class="box-input" name="numEpi" placeholder="Numero de l'epidode" required>
		<input type="text" class="box-input" name="linkEpi" placeholder="Lien de L'episode" required>
		<input type="submit" name="submit" value="Ajouter" class="box-button">
		<?php
		if (!empty($message)){
			echo '<p class="errorMessage">'.$message.'</p>';
		}
		?>
   </form>
    <script>
    $(document).keydown(function(e){
      if(e.which === 123){
         return false;
      }
    });
    </script>
  </body>
<?php include('footer.php'); ?>
</html>

3 réponses

jee pee Messages postés 41361 Date d'inscription   Statut Modérateur Dernière intervention   9 672
 
Bonjour,

L'article auquel tu fais référence concerne une base Oracle. Tu as une base Oracle ou Mysql ???

En plus dans ton select, si tu avais une base Oracle,
"SELECT * FROM `V$DATABASE` WHERE `$DBl`" 
il manquerait quelque chose pour
WHERE colonne = valeur
.


0
firpic Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   1
 
j'ai une base mysql , je pensais pas qu'il y avait une difference.
Mais est ce qu'il existe quqelque chose dans le genre pour mysql ?
0
jee pee Messages postés 41361 Date d'inscription   Statut Modérateur Dernière intervention   9 672 > firpic Messages postés 90 Date d'inscription   Statut Membre Dernière intervention  
 
j'ignore s'il y a un équivalent dans mysql
0
firpic Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   1 > jee pee Messages postés 41361 Date d'inscription   Statut Modérateur Dernière intervention  
 
je te remercie, je vais laisser la question pour voir si d'autre personne peuvent regler le probleme .
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 
bonjour,
peut-être ainsi:
SELECT schema_name
FROM information_schema.schemata
WHERE schema_name = 'nomdeladb'
0
firpic Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   1
 
je viens de trouver se qu'il faut faire pour avoir ce que je voulais.
SELECT * FROM `TABLE_CONSTRAINTS`


Le code que vous m'avez donne yg_be est correct sauf que je me suis trompe de question en demandant d'afficher le nom des base de donné, c qui fonctionne avec votre code yg_be mais plutôt d'afficher le nom de table avec le code que j'ai mis au dessus.
0