[PHP + MySQL]

Bonjour,

J'ai crée un formulaire qui permet de créer une base de données MySQL + une table avec tous les

valeurs mais j'arrive pas à trouver la bonne syntaxe.

$Societe = $_POST['Societe'];
...
$sql_NewDB = "CREATE DATABASE `'$Societe'`;";
...
$sql_NewTable= "CREATE TABLE IF NOT EXISTS `'$Societe'`.`client` (.......

J'aimerais que la dans la base de donnée société, une table "client" s'ajoute mais j'ai une erreur de

syntaxe:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version

for the right syntax to use near '"test".`client` ( `ID_Societe` , `Societe`, `Adr' at line 1

Merci de me venir en aide.
Configuration: Windows Vista
Firefox 3.0.5

9 réponses

  1. Déja est ce que tu es sur que ton $Societe = $_POST['Societe']; fonctionne ??? tu as fait un echo $Societe; pour voir si il retourne bien la valeur ???
    1. D'abord, essaye sans les guillemets :

      <?php
      $co = mysql_connect("localhost","identifiant","mot de passe");
      $sql_NewDB = "CREATE DATABASE $societe";
      ?>

      ensuite :
      <?php
      $con = mysql_connect("localhost","identifiant","mot de passe");
      mysql_select_db("$societe", $con);

      $sql_NewTable = "CREATE TABLE [IF NOT EXISTS] client (........)";

      mysql_query($sql_NewTable,$con);

      mysql_close();
      ?>

      Voilà
      1. BESOIN DE VOTRE AIDE§§§
        ALLé sur le lien merciii

        http://www.commentcamarche.net/forum/affich 10629392 urgent svp formulaire
        1. Merci mais ça ne marche pas,

          en faisant ce que tu me dis, j'ai : No Database selected.

          J'ai modifié la requête sql_NewTable en ajoutant `'$Societe'`., ça donne

          $sql_NewTable = "CREATE TABLE IF NOT EXISTS `'$Societe'`.`client` (....)";

          Mais là j'ai cette erreur:

          Column count doesn't match value count at row 1
          1. Je pense avoir compris.
            Il faudrait aller sur une page entre la création de ta base et la création de la table de cette base.

            Fais donc ceci :

            Sur ta page où tu crées ta base de données, tu mets :

            <?php
            if($_SESSION['var'] != "exemple")
            {
            $co = mysql_connect("localhost","identifiant","mot de passe");
            $sql_NewDB = "CREATE DATABASE $societe";
            mysql_close();

            echo '<SCRIPT LANGUAGE="JavaScript">document.location.href="chargement.php"</SCRIPT>';
            }

            if($_SESSION['var'] == "exemple")
            {
            $con = mysql_connect("localhost","identifiant","mot de passe");
            mysql_select_db("$societe", $con);

            $sql_NewTable = "CREATE TABLE [IF NOT EXISTS] client (........)";

            mysql_query($sql_NewTable,$con);

            mysql_close();
            }
            ?>

            Ensuite, tu crées une page chargement.php dans le même répertoire que ta première page.

            Dans chargement.php, tu mets :

            <?php $_SESSION['var'] = "exemple" ; // Ca te sert pour savoir si tu es bien passé par chargement.php
            echo '<SCRIPT LANGUAGE="JavaScript">document.location.href="ta_1ère_page.php"</SCRIPT>'; ?>

            Voilà