Ciao a tutti,
ho inserito in file sql il seguente codice
CREATE TABLE `{prex}tamplate` (
`id_tp` int(9) NOT NULL auto_increment,
`nome_tp` varchar(50) NOT NULL default '',
`id_lng` int(9) NOT NULL default '1',
PRIMARY KEY (`id_tp`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
CREATE TABLE `{prex}user` (
`id_user` int(5) NOT NULL auto_increment,
`login` varchar(8) NOT NULL default '',
`pwd` varchar(10) NOT NULL default '',
`priv_user` int(1) NOT NULL default '1',
`priv_amm` int(1) NOT NULL default '0',
`priv_priv` int(1) NOT NULL default '0',
`nome_user` varchar(30) NOT NULL default '',
`cognome_user` varchar(30) default NULL,
`email_user` varchar(150) NOT NULL default '',
PRIMARY KEY (`id_user`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
poi lo richiamo con questa funzione
Codice PHP:
function DBInstall($prex)
{
if(file_exists("sql/050331160503.sql"))
{
$sql=file("sql/050331160503.sql");
foreach($sql as $k=>$v)
{$new_sql .= $v;}
//Sostituisco le variabili
$new_sql = str_replace('{prex}',$prex,$new_sql);
return $new_sql;
}
else
{
$new_sql = false;
return $new_sql;
}
}
ed eseguo con
Codice PHP:
$var["db"] = mysql_connect($var["Host"], $var["UserDB"], $var["PassDB"]);
mysql_db_query($var["NomeDB"],$var["installDB"]) or die (mysql_error());
mysql_close($var["db"]);
il tutto non fà altro che caricare il codice della query sql da un file e effettuare la quesry, ma mi ritrovo con errori di sintassi.Facendo delle prove ho visto che se eseguo le query da due file separari funziona, quindi evidentemente non accetta il ; con codice seguente sql.
Come posso inserire il codice sql in un'unico file e caricarlo da codice php ed eseguirlo senza errori?
errore riscontrato
--------------------------
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 ';
--------------------------