Sebastian Becker: MySQL-Error

Beitrag lesen

Hallo, Vinzenz,

ich kann Deine freundliche Erklärung nur zum Teil nachvollziehen und poste mal besser einen umfassenderen Auszug aus meinem schon etwas nachbgebesserten Code (s.u.).

Eine Frage: Warum löschst Du die Tabelle und legst sie wieder erneut an? Wird das ein Installationsskript?

Zum Testen erst mal ja, und vielleicht auch später ...

Z.Zt. hole ich die Daten in der Schleife aus einer Excel-Tabelle und will die entsprechende Datenbank jedesmal neu anlegen, wenn ein aktualisiertes Excel-File hochgeladen wird.

Später soll es dann auch möglich sein, die Speisekarte über ein Datenbank-Backend zu administrieren. Bis ich das fertig habe, wird es aber sicherlich noch eine Weile dauern, denn solange dessen Nutzeroberfläche nicht superkomfortabel ist (am besten mit Drag-n-Drop-Positionierung der Einträge, direkter Aktualisierung mit Ajax/httpxmlrequest, etc.) ist es für den Anwender einfacher, die Daten jeweils in dem Excel-File zu bearbeiten.

So sieht die Speisekarte übrigens aus (z.Zt. noch IE only) ...

Vielen Dank, Grüße,

Sebastian

// database configuration
$mysql_host = 'localhost';
$mysql_dbname = 'dbname';
$mysql_username = 'username';
$mysql_password = 'password';

$menu_file='speisekarte';

// database connection
$dbh=mysql_connect($mysql_host,$mysql_username,$mysql_password)or die('No mySQL connection');
if(!$dbh)echo mysql_errno() . ": " . mysql_error(). "\n"; // test

$db_select=mysql_select_db($mysql_dbname)or die('No connection to selected database');
if(!$db_select)echo mysql_errno() . ": " . mysql_error(). "\n"; // test

$sql_str='';

$sql_str.="DROP TABLE IF EXISTS $menu_file;";

$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,
KEY ID (id)
)
TYPE=MyISAM AUTO_INCREMENT=333 ;";

$result=mysql_query($sql_str);
if(!$result)echo mysql_errno() . ": " . mysql_error(). "\n";

$counter=0;

// hier kommt eine Schleife

$sql_str='';
$sql_str.="INSERT INTO $menu\_file VALUES($counter, $number, $category\_descr, $descr\_de, $ingr\_de, $descr\_en, $ingr\_en, $price\_euro);\n";

$result=mysql_query($sql_str);
if(!$result)echo mysql_errno() . ": " . mysql_error(). "\n";  // test

// Ende der Schleife

mysql_close($dbh);