Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Creazione tabella mysql tramite Variabili

    Salve a tutti ho un problema non riesco a creare "dinamicamente" una tabella.
    Ho il nome della tabella in una variabile
    $nome_tb = $nome."_".$data;
    Ho i campi da creare in un'altra variabile
    $campi = "nome VARCHAR (255)";

    Quando eseguo:
    $sqlQuery = 'CREATE TABLE $nome_tb ($campi);
    if (@mysql_query($sqlQuery)){
    echo 'Tabella creata';
    }
    else{
    exit('Operazione non eseguita: ' .mysql_error());
    }

    Mi ritrovo questo errore
    Operazione non eseguita: 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 '-10-20 (nome varchar(50)) type=MyISAM' at line 1

    Dove sbaglio nella sintassi?
    Grazie

  2. #2
    Non puoi utilizzare il trattino (-) nel nome della tabella a meno che tu non inserisca tale nome tra (`).
    Per cui puoi provare a fare:

    Codice PHP:
    $nome_tb "`".$nome."_".$data"`";
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Non saprei sembra non funzionare.
    Ora ho scritto banalmente questo codice secondo le tue istruzioni:
    $table_name = "`".$cond[0]."_".$cond[1]."`";
    e ho provato con:
    $dati=mysql_query("DROP TABLE `$table_name`");
    $dati=mysql_query("DROP TABLE '$table_name'");
    $dati=mysql_query("DROP TABLE $table_name");

    Ma niente.

  4. #4
    Ragazzi nessuno sa qualcosa????

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    30
    devi concatenare la variabile nella query forse?
    prova cosi

    $sqlQuery = 'CREATE TABLE '.$nome_tb.' ('.$campi.')';
    if (@mysql_query($sqlQuery)){
    echo 'Tabella creata';
    }
    else{
    exit('Operazione non eseguita: ' .mysql_error());
    }

  6. #6
    fatti stampare le query che generi e vedi se sono corrette o meno
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Le query sono corrette.
    Si puo' chiudere ho risolto con una classe.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.