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

Résolu/Fermé
firpic Messages postés 90 Date d'inscription jeudi 3 juin 2021 Statut Membre Dernière intervention 20 décembre 2022 - 20 juin 2021 à 11:39
firpic Messages postés 90 Date d'inscription jeudi 3 juin 2021 Statut Membre Dernière intervention 20 décembre 2022 - 20 juin 2021 à 14:32
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 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 225
Modifié le 20 juin 2021 à 12:03
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 jeudi 3 juin 2021 Statut Membre Dernière intervention 20 décembre 2022 1
20 juin 2021 à 12:16
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 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 225 > firpic Messages postés 90 Date d'inscription jeudi 3 juin 2021 Statut Membre Dernière intervention 20 décembre 2022
20 juin 2021 à 12:19
j'ignore s'il y a un équivalent dans mysql
0
firpic Messages postés 90 Date d'inscription jeudi 3 juin 2021 Statut Membre Dernière intervention 20 décembre 2022 1 > jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024
Modifié le 20 juin 2021 à 12:27
je te remercie, je vais laisser la question pour voir si d'autre personne peuvent regler le probleme .
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
20 juin 2021 à 13:09
bonjour,
peut-être ainsi:
SELECT schema_name
FROM information_schema.schemata
WHERE schema_name = 'nomdeladb'
0
firpic Messages postés 90 Date d'inscription jeudi 3 juin 2021 Statut Membre Dernière intervention 20 décembre 2022 1
20 juin 2021 à 14:32
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