[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. 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à
    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. BESOIN DE VOTRE AIDE§§§
        ALLé sur le lien merciii

        http://www.commentcamarche.net/forum/affich 10629392 urgent svp formulaire
        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. 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 ???