Hallo Sebastian,
So sieht die Speisekarte übrigens aus (z.Zt. noch IE only) ...
bitte die Navigation schleunigst an die richtige Stelle bringen ;-)
$sql_str='';
$sql_str.="DROP TABLE IF EXISTS $menu_file;";
Das ist eine SQL-Anweisung
$sql_str.="CREATE TABLE IF NOT EXISTS $menu_file (
id
int(11) NOT NULL auto_increment,
number
varchar(50) default NULL,
category
varchar(50) default NULL,
description\_de
varchar(255) default NULL,
ingredients\_de
varchar(255) default NULL,
description\_en
varchar(255) default NULL,
ingredients\_en
varchar(255) default NULL,
euro
varchar(50) default NULL,
KEYID
(id
)
)
TYPE=MyISAM AUTO_INCREMENT=333 ;";
jetzt enthält $sql_str _zwei_ SQL-Anweisungen. Wie wahsaga Dir bereits schrieb, kann mysql_query nur _eine_ Query absetzen. Das Problem an dieser Stelle könntest Du mit TRUNCATE TABLE
beheben.
$result=mysql_query($sql_str);
$sql_str='';
$sql_str.="INSERT INTO$menu\_file
VALUES($counter
,$number
,$category\_descr
,$descr\_de
,$ingr\_de
,$descr\_en
,$ingr\_en
,$price\_euro
);\n";
... viele INSERT INTO-Anweisungen. Schau Dir im MySQL-Handbuch, Abschnitt INSERT die Syntax für Multiline-INSERT an. Du kannst kommagetrennt in runde Klammern gefasste Wertlisten übergeben. Dann hast Du nur _ein_ SQL-Statement.
Freundliche Grüße
Vinzenz