Visualizzazione risultati 1 fino 11 di 11

Discussione: [php] non funza CREATE TABLE

  1. #1
    Guest

    Exclamation [php] non funza CREATE TABLE

    nn mi funziona sto coso .. mi da un errore T_STRING o giu di li...
    x favore datemi una mano:

    <?php
    $db = mysql_connect(localhost, niso, *******);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri inseriti");
    mysql_select_db(my_niso, $db)
    or die ("Errore nella selezione del database. Verificare i parametri inseriti");
    CREATE TABLE [IF NOT EXIST] $nick(
    portiere TEXT(100) NOT NULL,
    difensore1 TEXT(100) NOT NULL,
    difensore2 TEXT(100) NOT NULL,
    difensore3 TEXT(100) NOT NULL,
    centrocampista1 TEXT(100) NOT NULL,
    centrocampista2 TEXT(100) NOT NULL,
    centrocampista3 TEXT(100) NOT NULL,
    centrocampista4 TEXT(100) NOT NULL,
    attaccante1 TEXT(100) NOT NULL,
    attaccante2 TEXT(100) NOT NULL,
    attaccante3 TEXT(100) NOT NULL,
    risdife1 TEXT(100) NOT NULL,
    risdife2 TEXT(100) NOT NULL,
    riscent1 TEXT(100) NOT NULL,
    riscent2 TEXT(100) NOT NULL,
    risatt1 TEXT(100) NOT NULL,
    risatt2 TEXT(100) NOT NULL
    ) TYPE=MyISAM;
    mysql_close($db);
    ?>

    cosa c'è di sbagliato???

  2. #2
    Guest

    Predefinito

    Se non sbaglio prima di CREATE TABLE devi mettere mysql_query("
    e dopo MyISAM; devi mettere ");
    Ciao

  3. #3
    Guest

    Predefinito

    grazie provo

  4. #4
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Citazione Originalmente inviato da Niso
    $db = mysql_connect(localhost, niso, *******);
    Credo che tu debba anche aggiungere l'apice allo username e alla password.

    Codice:
    $db = mysql_connect(localhost, 'niso','*******');
    Ciao

    Leandro

    Happy Slack!

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  5. #5
    Guest

    Predefinito

    no nn è x quello .. si connette al mysql .. ma nn mi crea la tab

  6. #6
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Ho fatto delle prove.
    Se rimuovi "[IF NOT EXIST]" la query funziona correttamente.
    in pratica:

    Codice:
    CREATE TABLE $nick(
    portiere TEXT(100) NOT NULL,
    difensore1 TEXT(100) NOT NULL,
    difensore2 TEXT(100) NOT NULL,
    difensore3 TEXT(100) NOT NULL,
    centrocampista1 TEXT(100) NOT NULL,
    centrocampista2 TEXT(100) NOT NULL,
    centrocampista3 TEXT(100) NOT NULL,
    centrocampista4 TEXT(100) NOT NULL,
    attaccante1 TEXT(100) NOT NULL,
    attaccante2 TEXT(100) NOT NULL,
    attaccante3 TEXT(100) NOT NULL,
    risdife1 TEXT(100) NOT NULL,
    risdife2 TEXT(100) NOT NULL,
    riscent1 TEXT(100) NOT NULL,
    riscent2 TEXT(100) NOT NULL,
    risatt1 TEXT(100) NOT NULL,
    risatt2 TEXT(100) NOT NULL
    ) TYPE=MyISAM"
    Non chiedermi perchè, ma se la lanci dal MySqlQuery Borwser senza [IF NOT EXIST] funziona (e anche con php) con [IF NOT EXIST] da proprio errore in quel punto.

    Tieni presente che se anche non utilizzi quella opzione, mysql non ti dovrebbe creare una tabella con lo stesso nome, quindi potresti anche evitarla.
    Cmq se riesco a trovare qualcosa o a capirci di più ti faccio sapere.

    Il codice completo che ho scritto nella pagina php di test è il segutente :

    Codice:
    <?
    $db = mysql_connect('localhost', 'niso', '********');
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri inseriti");
    mysql_select_db('my_niso', $db)
    or die ("Errore nella selezione del database. Verificare i parametri inseriti");
    $SQL_crea_tabella="CREATE TABLE $nick(
    portiere TEXT(100) NOT NULL,
    difensore1 TEXT(100) NOT NULL,
    difensore2 TEXT(100) NOT NULL,
    difensore3 TEXT(100) NOT NULL,
    centrocampista1 TEXT(100) NOT NULL,
    centrocampista2 TEXT(100) NOT NULL,
    centrocampista3 TEXT(100) NOT NULL,
    centrocampista4 TEXT(100) NOT NULL,
    attaccante1 TEXT(100) NOT NULL,
    attaccante2 TEXT(100) NOT NULL,
    attaccante3 TEXT(100) NOT NULL,
    risdife1 TEXT(100) NOT NULL,
    risdife2 TEXT(100) NOT NULL,
    riscent1 TEXT(100) NOT NULL,
    riscent2 TEXT(100) NOT NULL,
    risatt1 TEXT(100) NOT NULL,
    risatt2 TEXT(100) NOT NULL
    ) TYPE=MyISAM";
    mysql_query($SQL_crea_tabella);
    mysql_close($db);
    Ciao

    Leandro

    Happy Slack!

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  7. #7
    Guest

    Predefinito

    niente da fare... nn capisco cosa ***** c'è che nn va...

  8. #8
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    ma hai provato ad inserire il codice che ti ho scritto?

    Che errore ri si presenta?
    Non capisco, io ho testato il codice e la tabella mi viene creata senza problemi.

    Perchè non provi a visualizzare gli errori del mysql tramite la funzione
    mysql_error ?

    Magari c'è qualcosa che ci sfugge.

    Ciao

    Leandro

    Happy Slack!

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  9. #9
    Guest

    Predefinito

    io ho inserito un codice in un'altra pagina che mi fa arrivare (con un form) $nick.
    esiste gia una tabella nel database e se faccio INSERT INTO nometab(nick) VAL... funziona.
    Ma se nalla stessa pagina di INSERT INTO metto CREATE TABLE mi inserisce il nick nella tabella gia esistente ma non mi crea nessuna tabella.

    questo è il codice della pagina:

    <?
    $db = mysql_connect('localhost', 'niso', '********');
    if ($db == FALSE)
    die ("Errore nella connessione.");
    mysql_select_db(my_niso, $db)
    or die ("Errore nella selezione del database.");
    $sql="CREATE TABLE $nick(
    portiere TEXT(100) NOT NULL,
    difensore1 TEXT(100) NOT NULL
    ) TYPE=MyISAM";
    mysql_query($sql);
    $query = "INSERT INTO fanta (nick, email) VALUES ('$nick', '$email')";
    if (mysql_query($query, $db))
    echo "L'articolo è stato inserito correttamente";
    else
    echo "Erorre durante l'inserimento";
    mysql_close($db);
    ?>
    Ultima modifica di Niso : 28-10-2005 alle ore 21.40.58

  10. #10
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Allora ho scritto 2 pagine, una per inviare i dati e una per fare l'inserimento/creazione tabelle.
    Le ho testate entrambe e funziona tutto, quindi dagli uno sguardo e magari adattale alle tue esigenze.

    La prima pagina l'ho chiamata invia_dati.html (che fantasia eh? )

    il codice è il seguente:

    Codice HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <title>:: Inserimento in Tabella ::</title>
      </head>
      <body>
      <form name="inserisci" method="POST" action="insert.php">
      <table>
      <tr>
        <td>
          Inserire il nick
        </td>
        <td>
          <input type="text" name="txt_nick" value="">
        </td>
      <tr>
      <tr>
        <td>
          Inserire email
        </td>
        <td>
          <input type="text" name="txt_email" value="">
        </td>
      <tr>
      <tr colspan="2">
        <td>
        <input type="submit" value="Inserisci">
        </td>
      </tr>
      </table>
      </body>
    </html>
    mentre la seconda l'ho chiamata insert.php (fantasia massima anche quì )

    questo è il codice :

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1250">
    <title>:: Inserimento in Tabella ::</title>
    </head>
    <body>
    <?
    //Recupero del nick e email passati con metodo post
    //-------------------------------------------------
    $nick=$_POST['txt_nick'];
    $email=$_POST['txt_email'];

    //Connessione al server
    //---------------------
    $db = mysql_connect('localhost', 'niso', '*******');
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri inseriti");

    //selezione del database
    //----------------------
    mysql_select_db('my_niso', $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri inseriti");

    //Preparazione della query per la creazione tabella
    //-------------------------------------------------
    $SQL_crea_tabella="CREATE TABLE ".$nick." (
    portiere TEXT(100) NOT NULL,
    difensore1 TEXT(100) NOT NULL,
    difensore2 TEXT(100) NOT NULL,
    difensore3 TEXT(100) NOT NULL,
    centrocampista1 TEXT(100) NOT NULL,
    centrocampista2 TEXT(100) NOT NULL,
    centrocampista3 TEXT(100) NOT NULL,
    centrocampista4 TEXT(100) NOT NULL,
    attaccante1 TEXT(100) NOT NULL,
    attaccante2 TEXT(100) NOT NULL,
    attaccante3 TEXT(100) NOT NULL,
    risdife1 TEXT(100) NOT NULL,
    risdife2 TEXT(100) NOT NULL,
    riscent1 TEXT(100) NOT NULL,
    riscent2 TEXT(100) NOT NULL,
    risatt1 TEXT(100) NOT NULL,
    risatt2 TEXT(100) NOT NULL
    ) TYPE=MyISAM"
    ;

    //Preparazione della query per l'inserimento
    //nella tabella fanta
    //------------------------------------------
    $SQL_Inserimento="INSERT INTO fanta (nick, email) VALUES ('$nick', '$email')";

    //Creazione della tabella nick
    //----------------------------
    if (mysql_query($SQL_crea_tabella,$db))
    {
    echo
    "Creazione tabella OK \n<BR>";
    }
    else
    {
    echo
    "Creazione tabella Fallito \n<BR>";
    }

    //Inserimento del nick in tabella fanta
    //-------------------------------------
    if (mysql_query($SQL_Inserimento, $db))
    {
    echo
    "Inseriemento nick OK\n<BR>";
    }
    else
    {
    echo
    "Inserimento nick Fallito\n<BR>";
    }
    mysql_close($db);
    ?>
    </body>
    </html>
    Prima creo la tabella di nome "$nick" e poi effettuo l'inserimento nella tabella fanta di "$nick" e "$email".

    Come ti ho scritto sopra, ho fatto i test e le tabelle si creano senza problemi.

    Spero di esserti stato d'aiuto.

    Ciao

    Leandro

    Happy Slack!
    Ultima modifica di radioradianti : 28-10-2005 alle ore 21.54.52

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  11. #11
    Guest

    Predefinito

    ho fatto ...
    GRAZIE 10000000000000000!!!!!!!!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •