-
Errore con una query
Salve,
dovrei creare una query che rea una tabella sul database.
la pagina A.php mi manda (tramite post) il nome della pagina B.php che ha la query inserita.
il passaggio del nome avviene correttamente ma la query mi genera il seguente errore:
Codice HTML:
Query fallita: 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 ''9991' ( nome varchar(15), cognome varchar(15), eta int )' at line 1
i codici da me utilizzati sono i seguenti:
Codice PHP:
session_start();
$nome=$_POST['nome'];
$link = mysql_connect('localhost', '****', '****')
or die('Could not connect: ' . mysql_error());
mysql_select_db('****') or die('Could not select database');
$query = "CREATE TABLE '".$nome."' ( nome varchar(15), cognome varchar(15), eta int )";
echo $nome;echo "<br>";
$risultato = mysql_query($query) or die('Query fallita: ' . mysql_error());
$num_rows = mysql_num_rows($risultato);
mi sapreste aiutare ad identificare il problema?
-
Quando dichiari il nome della tabella non devi mettere gli apici.
Quindi devi modificare il tuo codice da
Codice PHP:
CREATE TABLE '".$nome."' ( nome varchar(15), cognome varchar(15), eta int )
a
Codice PHP:
CREATE TABLE ".$nome." ( nome varchar(15), cognome varchar(15), eta int )
Altra cosa, il nome di una tabella non può partire con un numero, quindi non puoi chiamarla 9991, mettici un 'a' davanti o qualsiasi altro carattere alfabetico.