Menu schließen

mysql->create table $newtable... tabellenname

Frage: mysql->create table $newtable... tabellenname
(31 Antworten)


Autor
Beiträge 0
13
guten morgen,


ich schreibe gerade ein php script, welches eine mysql Datenbank erstellen soll.

das problem:
die tabelle soll "Wochenbericht 30.7.07 - 3.08.07" heißen.
aber das mysql will die zahlen in dem namen nicht drin haben.
ich brauche die zahlen aber, weil das ja nicht der einzigste wochenbericht ist, den die seite für mich als tabelle erstellen soll.

hat jemand ne idee, wie ich dieses problem umgehen kann?

ich könnte die zahlen in einen buchstaben code umwandeln lassen, nur kenne ich nur den php befehl, der sie in ein ASCII-code wandelt.
bei dem weiß ich aber nicht, oder das mysql da nicht auch irgendwas verwechseln könnte bei der übergabe des codes.

thx
Frage von Tomatenjoe (ehem. Mitglied) | am 04.08.2007 - 02:18


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 11:45
keine
ne idee? (20 zeichen)

 
Antwort von GAST | 04.08.2007 - 11:47
Mir ist neu, dass Namen von MySQL-Tabellen keine Zahlen enthalten dürfen! Oo

Sicher, dass du im Code nichts falsch gemacht hast?


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 11:52
ich kann ihn ja mal posten mom

 
Antwort von GAST | 04.08.2007 - 11:59
Ansonsten änder es so um, dass Wchenberichte in eine TAbelle kommt und jeder wochenbericht seine eigene id hat. ausserdem kann man dann date als Zeichensatz nehmen.

 
Antwort von GAST | 04.08.2007 - 12:00
Ja, okay, aber er brauchte ja einen bestimmten Namen für seine Datenbanken.

 
Antwort von GAST | 04.08.2007 - 12:02
Oh dann hab ich mich verguckt. ICh hab gelesen Datenbanktabellen

 
Antwort von GAST | 04.08.2007 - 12:04
Vielleicht liegts an den Whitespaces, dass deine Konfiguration die nicht annimmt?


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 12:06
newtable würde so heißen:Wochenbericht 30.7.07 - 3.08.07

Code
--------------------------------------------------------
$newtable="Wochenbericht $modate.$datem.$datey - $erechnetesdatum.$datem_.$datey";
//erechnen des aktuellen Wochenberichtes...ende
//auswahl der tabelle

$sql="create table $newtable(
id int NOT NULL auto_increment PRIMARY KEY,
datum date not null,
h text,
beschreibung text,
fach text,
praxis text,
stunden text,
wochentag text);";
if (@mysql_query($sql)) {
echo "<p>Neue Tabelle "$newtable" wurde erstellt.</p>";
----------------------------------------------------------

fehler meldung:
1064-->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 `30.7.07 - 3.08.07( id int NOT NULL auto_increment PRIMARY KEY, datum date not ` at line 1

 
Antwort von GAST | 04.08.2007 - 12:09
Wochenbericht_$modate.$datem.$datey_-_$erechnetesdatum.$datem_.$datey"

Mach mal überall _ hin, wo Leerzeichen im Namen sind!


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 12:12
1064-->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 `.-_3.08.07( id int NOT NULL auto_increment PRIMARY KEY, datum date not null, ` at line 1

immernoch der gleiche fehler

 
Antwort von GAST | 04.08.2007 - 12:14
Mach aus $sql="create table $newtable das hier:

$sql="create table `$newtable`


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 12:15
ich habe auch schon den code so über die "cmd" kopiert und so da eine tabelle namens $newtable anlegen können, ohne einen fehler.

und als ich die variable dan durch des datum erätzt habe, gings net mehr.

 
Antwort von GAST | 04.08.2007 - 12:17
Du kannst die Datumsvariablen auch mal über echo() ausgeben, um zu schauen, ob da was in der Ausgabe nicht stimmt.

Aber versuch` das mal mit den ``


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 12:17
jetzt kam die fehlermeldung:
1065-->Query was empty

was ist nochmal ein query?

 
Antwort von GAST | 04.08.2007 - 12:19
Die ausgegebene Variable hatte keinen Inhalt, deswegen war die query leer.


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 12:22
und nun? hmmmmmmmm........

 
Antwort von GAST | 04.08.2007 - 12:24
Du musst eine Variable mit Inhalt definieren ;)


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 12:25
hab ich doch: $newtable="Wochenbericht_$modate.$datem.$datey_-_$erechnetesdatum.$datem_.$datey";

 
Antwort von GAST | 04.08.2007 - 12:29
Nein Roman hat doch von ner leeren Variable gesprochen?! naja egal hab jetzt grad ekine Zeit


Autor
Beiträge 0
13
Antwort von Tomatenjoe (ehem. Mitglied) | 04.08.2007 - 12:31
$newtable=Wochenbericht_30.7.-_3.08.07

das ist die variable und die wird in der Fehlermeldung auch richtig aus

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

> Du befindest dich hier: Support-Forum - Informatik
ÄHNLICHE FRAGEN:
BELIEBTE DOWNLOADS: