Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Per PHP mehrere MySQL-Tabellen erstellen - er macht nur die Erste!





Frage

Hallo! Ich möchte per PHP in einem Zug mehrere MySQL-Tabellen erstellen. Die Verbindungseinstellungen sind alle richtig, und er beginnt zu arbeiten, allerdings wird nur die erste Tabelle erstellt, die zweite nicht. Der Code, der nachfolgt wird aber wieder ausgeführt! // Tabelle "_users" erstellen $sql = "CREATE TABLE ".$db_prefix."_users ( `userid` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY, `usergroup` INT( 1 ) NOT NULL, $result = mysql_query($sql); // Tabelle "_gebete" erstellen $sql = "CREATE TABLE ".$db_prefix."_gebete ( `gebetid` BIGINT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY, `titel` TEXT NOT NULL, `inhalt` TEXT NOT NULL, ) ENGINE = MYISAM"; $result = mysql_query($sql); echo "Fertig!"; Das "Fertig" wird wieder ausgegeben, aber die Tabelle "_gebete" wird nicht erstellt; nur die Tabelle "_users". Weis jemand, wieso? Danke im Voraus! Lg, ricc

Antwort 1 von Supermax

vor dem ersten mysql_query() fehlt anscheinend eine Zeile

Antwort 2 von ricc

Was ist falsch?

Antwort 3 von katy

Hallo ricc,

Supermax hatte es doch schon gesagt: in deinem Quellcode fehlt etwas, und zwar zwischen
`usergroup` INT( 1 ) NOT NULL,
und
$result = mysql_query($sql);

Im zweiten Quellcodeteil steht dort die Zeile
) ENGINE = MYISAM";

katy

Antwort 4 von ricc

Ach so! Sorry. Das ist nur hier falsch, weil ich im Mittelteil etwas gekürzt habe.
In meiner Datei steht das schon richtig drinnen.
Also an dem liegt es nicht!

Habt ihr noch andere Ideen? Es muss etwas ganz einfaches sein, denn es fehlt ja auf den ersten Blick nichts, oder?

Lg, ricc

Antwort 5 von Supermax

Wird keine Fehlermeldung ausgegeben?

Vielleicht schließt du versehentlich in dem weggelassenen Programmteil die SQL-Verbindung? Poste doch mal den kompletten Code, dann tun sich alle Beteiligten leichter.

Antwort 6 von ricc

$db_prefix = $_POST['db_prefix'];

// Verbindung zur Datenbank herstellen
$connection = mysql_connect($db_host, $db_user, $db_pwd) /* or die("Ihre Eingaben zur Verbindungsherstellung mit dem Datenbank-Server sind fehlerhaft!") */;
mysql_select_db($db_datenbank, $connection) /* or die("Die Verbindung ist hergestellt. Allerdings kann die angegebene Datenbank nicht gefunden werden!") */;

// Tabelle "_settings" erstellen
$sql =  "CREATE TABLE ".$db_prefix."_settings (
	`erstellt` VARCHAR( 18 ) NOT NULL PRIMARY KEY,,
	`von` VARCHAR( 20 ) NOT NULL,
	`email` VARCHAR ( 50 ) NOT NULL
	) ENGINE = MYISAM";
$result = mysql_query($sql);

// Tabelle "_users" erstellen
$sql =  "CREATE TABLE ".$db_prefix."_users (
	`userid` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
	`usergroup` INT( 1 ) NOT NULL,
	`username` VARCHAR( 20 ) NOT NULL,
	`password` VARCHAR( 50 ) NOT NULL,
	`email` VARCHAR( 35 ) NOT NULL,
	`lastlogin` VARCHAR( 25 ) NOT NULL,
	`sessionid` VARCHAR( 100 ) NOT NULL,
	`regip` VARCHAR( 13 ) NOT NULL
	) ENGINE = MYISAM";
$result = mysql_query($sql);

// Tabelle "_gebete" erstellen
$sql =  "CREATE TABLE ".$db_prefix."_gebete (
	`gebetid` BIGINT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
	`titel` TEXT NOT NULL,
	`inhalt` TEXT NOT NULL,
	`kategorie` INT( 5 ) NOT NULL,
	`erstellt` VARCHAR( 18 ) NOT NULL,
	`von` VARCHAR( 20 ) NOT NULL,
	) ENGINE = MYISAM";
$result = mysql_query($sql);

// Tabelle "_gebete_kategorien" erstellen
$sql =  "CREATE TABLE ".$db_prefix."_gebete_kategorien (
	`kategorieid` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,
	`titel` TEXT NOT NULL,
	`erstellt` VARCHAR( 18 ) NOT NULL,
	`von` VARCHAR( 20 ) NOT NULL,
	) ENGINE = MYISAM";
$result = mysql_query($sql);

echo "Alle Tabellen erstellt!";


Antwort 7 von ricc

Also: die erste Tabelle wird immer erstellt, die weiteren nicht. Aber zum Schluss wird "Alle Tabellen angelegt!" ausgegeben!

Antwort 8 von ricc

Problem gelöst:
bei den weiteren Tabellen stand nach dem letzten NOT NULL immer ein Komma, das darf da nicht hin!

Trotzdem danke für die Bemühungen!
Lg, ricc

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: