PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL-Fehler oder Server-Problem


Sierra1989
2007-08-10, 16:15:42
Hallo Leute, ich hoffe ihr könnt mir helfen. Beim programmieren eines Browsergames ist Folgender Fehler aufgetrteten:
Nachdem ich eine Anweisung ausgegeben habe soll er das in die DB schreiben.. Stattdessen kommt :

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 ' `fleet_resource_crystal` = , `fleet_resource_deuterium` =' a
INSERT INTO {{table}} SET `fleet_mission`=1, `fleet_amont`=10000, `fleet_array`='207,10000 ', `fleet_start_time`= 1186755159, `fleet_start_galaxy`=1, `fleet_start_system`=1, `fleet_start_planet`=7, `fleet_start_type`=1, `fleet_end_time`=1186755189, `fleet_end_galaxy`=1, `fleet_end_system`=1, `fleet_end_planet`=5, `fleet_end_type`=1, `fleet_resource_metal` = , `fleet_resource_crystal` = , `fleet_resource_deuterium` =]

ist das nun nen Programmierfehler oder Stimmt in meinem Server was nicht?
Hoffe ihr könnt mir Helfen.

MFG

pompos@work
2007-08-10, 16:22:46
Ich denke deine Tabelle wird nicht {{table}} heißen, oder?

Kinman
2007-08-10, 16:23:39
Das Ende Deines Befehls sieht etwas komisch aus..


=]


mfg Kinman

Sierra1989
2007-08-10, 16:26:07
XD nein heißt sie natürlich nich, ich depp, meinst du da liegt der hase schon begraben?

Sierra1989
2007-08-10, 16:28:28
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 '{{xxx__fleets}} SET `fleet_mission`=1, `fleet_amont`=10000,
INSERT INTO {{ogame__fleets}} SET `fleet_mission`=1, `fleet_amont`=10000, `fleet_array`='207,10000 ', `fleet_start_time`= 1186756069, `fleet_start_galaxy`=1, `fleet_start_system`=1, `fleet_start_planet`=7, `fleet_start_type`=1, `fleet_end_time`=1186756099, `fleet_end_galaxy`=1, `fleet_end_system`=1, `fleet_end_planet`=5, `fleet_end_type`=1, `fleet_resource_metal` = , `fleet_resource_crystal` = , `fleet_resource_deuterium` =

ändert er auch net wirklich viel :D

Sorry 4 Doppelpost!

Gast
2007-08-10, 16:31:45
die letzten drei Spalten bekommen keine Werte.

Kann auch sein, dass es Probs wegen der Anführungzeichen gibt.

Thomas(:
2007-08-10, 16:34:17
Offensichtlich hast du keine Ahnung von SQL.

http://tut.http://dev.mysql.com/doc/refman/5.1/de/insert.html
http://php-q.net/mysql-insert.html

(del)
2007-08-10, 16:35:49
wenn die letzten spalten keine einträge bekommen dürfen sie auch in deinem befehl so nicht auftauchen. versuch es mal mit .... 'fleet_resource_crystal' = "", ... bzw. lasse die spalten im insert befehl komplett weg
... hoffe ich mal, ist nur geraten.

Sierra1989
2007-08-10, 16:36:19
Leider sind nich alle mit MySQL Kenntnissen vom Himmel gefallen ;)
Aber ich übe dran und da ich nich weiter komme frag ich ;)
Sollte kein Problem sein oder?

Ich guck mal ob ich nun weiter komme sonst schreib ich nochmal !

Aber schonmal dickes Danke!

JTHawK
2007-08-10, 16:42:44
mysql Insert syntax wie folgt:

INSERT INTO tabelle (spalte1,spalte2,spalte6) VALUES (wert1,wert2,wert3)

Sierra1989
2007-08-10, 16:50:08
hmmm ich hab jetzt die variationen alle ausprobiert, ich scheine die Anweisung immernoch falsch zu Formulieren.
Hier mal den Quellcode:

doquery("INSERT INTO {{table}} SET
`fleet_mission`={$_POST[mission]},
`fleet_amont`={$fleet[amount]},
`fleet_array`='{$fleet[fleetlist]}',
`fleet_start_time`= {$fleet[start_time]},
`fleet_start_galaxy`={$_POST[galaxy]},
`fleet_start_system`={$_POST[system]},
`fleet_start_planet`={$_POST[planet]},
`fleet_start_type`={$_POST[planettype]},
`fleet_end_time`={$fleet[end_time]},
`fleet_resource_meta`= {$_POST[resource1]},
`fleet_resource_crystal` = {$_POST[resource2]},
`fleet_resource_deuterium` = {$_POST[resource3]}",'fleets');


Villeicht erkennt ihr so ja den fehler ... ^^

JTHawK
2007-08-10, 17:11:51
fang doch erstmal ganz klein mit nur einem wert an - das hilft ungemein :D

Sierra1989
2007-08-10, 17:15:13
Ich muss jetzt aber im zusammenhang das projekt so hin bekommen ergo muss ich leider durch den crash kurs ^^

Thomas(:
2007-08-11, 06:03:28
Leider sind nich alle mit MySQL Kenntnissen vom Himmel gefallen ;)
Aber ich übe dran und da ich nich weiter komme frag ich ;)
Sollte kein Problem sein oder?

Naja es ist der falsche Ansatz, den du verfolgst. Der beste Tipp war, mit einer kleinen Tabelle anzufangen, dann damit bischen probieren/testen, und dann anwenden.


CREATE TABLE `testtable` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50) NOT NULL,
`data` VARCHAR(50) NULL
);

INSERT INTO `testtable` (
`name`, `data`
)
VALUES (
'test', '12345 12345'
);


Nur so als Beispiel

Kinman
2007-08-11, 10:29:00
mysql Insert syntax wie folgt:

INSERT INTO tabelle (spalte1,spalte2,spalte6) VALUES (wert1,wert2,wert3)

Ist besser so, aber sein Konstrukt mit SET funktioniert auch.
Ich dachte auch, dass hier der Fehler liegt und habs ausprobiert.

@Thread-Starter: Was sollen die ganzen { & }??


doquery("INSERT INTO tabellen_name (fleet_mission, fleet_amont, fleet_array, fleet_start_time, fleet_start_galaxy, fleet_start_system, fleet_start_planet, fleet_start_type, fleet_end_time, fleet_resource_meta, fleet_resource_crystal, fleet_resource_deuterium)
VALUES ('" . $_POST['mission'] . "', '" . $fleet['amount'] . "', '" . $fleet['fleetlist'] . "', '" . $fleet['start_time'] . "', '" . $_POST['galaxy'] . "', '" . $_POST['system'] . "', '" . $_POST['planet'] . "', '" . $_POST['planettype'] . "', '" . $fleet['end_time'] . "', '" . $_POST['resource1'] . "', '" . $_POST['resource2'] . "', '" . $_POST['resource3'] . "');";


Wobei "fleets", das am ende deines Konstrukts steht, über bleibt und tabellen_name durch den Namen deiner Tabelle zu ersetzen ist.

JTHawK
2007-08-11, 10:39:37
Ist besser so, aber sein Konstrukt mit SET funktioniert auch.
Ich dachte auch, dass hier der Fehler liegt und habs ausprobiert.


Sicher funktioniert das auch, und es gibt noch eine dritte Syntax.

@Sierra1989

Ich kann mich nur wiederholen: Mit kleinen überschaubaren Befehlen beginnen und wenn das funktioniert erweitern.

Sierra1989
2007-08-11, 10:48:35
Super danke für eure Hilfe.... Ich probier das mal aus... Diese & ,ich hab das alles aus ner vorgabe ^^... ich könnte dir die Frage nichmal Beantworten...
MFG

Sierra1989
2007-08-11, 10:51:24
Wenn ich das si umsetze bekomme ich einen Fehler...

Parse error: syntax error, unexpected ';' in /www/htdocs/w00609dd/XXX/fleet.php on line 87

Sie
2007-08-11, 10:58:12
(Sorry aber man kann seine beiträge als gast nich ändern, ich regge mich gleich mal ^^)

Wenn ich dieses ; entferne... was da angeblich falsch ist bekomme ich :

Parse error: syntax error, unexpected T_VARIABLE in /www/htdocs/w00609dd/ogame/fleet.php on line 92

oder ich hab jetzt was ganz falsch gemacht :D

Kinman
2007-08-11, 11:06:12
Post mal ein bisschen mehr von Deinem Code, Deinen Tabellenaufbau, Deinen Tabellennamen usw.

Sonst werden wir hier nicht weiterkommen

mfg Kinman

Sierra1989
2007-08-11, 17:02:53
Hab den Fehler gefunden, tabellen namen und code passten nich überein, waren simple schreibfehler ! Ic h danke euch auf jeden fall für eure mühe !!

1A