SQL sytax??bin ich d***f?

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Jo0oker

Betreff: SQL sytax??bin ich d***f?

BeitragDo, Aug 16, 2007 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo leuet,
könnt ihr hier einen Syntax fehler oder ähnliches sehen:
Code: [AUSKLAPPEN]

UPDATE chat SET nachr = '$nachr' WHERE user = '$user'

oder liegt es an meinem bb code:
Code: [AUSKLAPPEN]

WriteLine streamer, "GET /kchat/updateaccnachr.php?user="+user_db$+"&nachr=" + nachr$ + " HTTP/1.1"

Entweder bin ich jetzt voll verblödet oder einfach nur blind.....
Danke im vorraus...

lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

Silver_Knee

BeitragDo, Aug 16, 2007 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
die variabeln hinter dem ? fragt man mit: $_GET["variable"] ab also

Code: [AUSKLAPPEN]
UPDATE chat SET nachr = '$_GET[nachr]' WHERE user = '$_GET[user]'

aber ich traue dieser syntax nicht so ich nutze da lieber die sichere:
Code: [AUSKLAPPEN]
$sql="UPDATE `chat` SET `nachr` = '".$_GET["nachr"]."' WHERE `user` = '".$_GET["user"]."'"

an der blitz ist nichts auszusetzen achte aber auf url-decoding

Jo0oker

BeitragDo, Aug 16, 2007 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Das habe ich doch alles gemacht:
Code: [AUSKLAPPEN]

<?PHP
@mysql_connect("localhost", "****","****")or die ("0");
@mysql_select_db("*****") or die ("1");

$user=$_GET['user'];
$nachr = $_GET['nachr'];

$res = "SELECT * FROM chat WHERE user = '$user'";
mysql_query($res);


$sql="UPDATE chat SET nachricht = '$nachr' WHERE user = '$user' ";
mysql_query($sql);
?>


lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

Silver_Knee

BeitragDo, Aug 16, 2007 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
versuchs mal mit
Code: [AUSKLAPPEN]
echo mysql_error();

nach mysql_query
und probiers dann mal übern Browser

PowerProgrammer

BeitragDo, Aug 16, 2007 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde dir empfehlen, an wirklich jeder Stelle mal ein echo einzufügen und zu schauen, ob alles noch korrekt ist. Hast du eventuell einen Rechtschreibfehler irgendwo? Was passiert, wenn du die MySQL-Anweisung manuell per phpMyAdmin ausführst?
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter!

Jo0oker

BeitragDo, Aug 16, 2007 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Das komische ist es ja, wenn ich es so manuel in die url eingeben dann geht es:
Das geben ich ein:

Code: [AUSKLAPPEN]

http://www.eggers-sw.de/kchat/updateaccnachr.php?user=Jo0oker&nachr=Hallo, na wie gehts


komisch oder?
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

PowerProgrammer

BeitragDo, Aug 16, 2007 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann musst du halt deinen HTTP-Request nocheinmal überschauen.
War es nicht so, dass nach dem Request eine Leerzeile folgen muss?
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter!

Jo0oker

BeitragDo, Aug 16, 2007 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke schon mal,

hier mal mein ganzer code:
Code: [AUSKLAPPEN]

Include "eingabe.bb"
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()

;Standarts
cam = CreateCamera()
light = CreateLight()


CameraFogMode cam,2
CameraRange cam,1,500000
CameraFogRange cam,1400,14000
CameraFogColor cam,0,0,0
CameraClsColor cam,0,0,0
;Terrain Laden,Texturen
light55=CreateLight()
RotateEntity light55,90,0,0
terrain=LoadTerrain("map/terrain.bmp")
ScaleEntity terrain,1,50,1
grass_tex=LoadTexture("map/erde.bmp")
ScaleTexture grass_tex,50,50
EntityTexture terrain,grass_tex,0,1
PositionEntity terrain,-250,-29,-215
TerrainDetail terrain,4000,1
;sphere
Global sphere = LoadAnimMesh("model/fish.3ds");CreateSphere()
buffer = CreateSphere()
;

;Sky
sky = CreateSphere()
ScaleEntity sky,1000,1000,1000
sky_tex=LoadTexture("map/sky.bmp")
EntityTexture sky,sky_tex,0,1
FlipMesh sky

;Positionen
PositionEntity cam,234,50,236
PositionEntity sphere,234,50,250
PositionEntity buffer,234,45,250

;Parents and moves
EntityParent cam,sphere
EntityParent sphere,buffer
EntityParent cam,buffer
;Collisionen
Local pVy#
EntityType sphere,sphere_k
EntityType terrain,terrain_k
EntityType sky,sky_k
EntityType buffer,buffer_k

Const terrain_k = 1
Const sphere_k = 2
Const sky_k = 2
Const buffer_k = 3
Collisions sphere_k,sky_k,2,3
Collisions buffer_k,terrain_k,2,3
;User laden
user  =  ReadFile("DB/user.sav")
user_db$ = ReadLine(user)
CloseFile user
;position von der DB über PHP abfragen



PositionEntity sphere,wertx,werty,wertz
EntityAlpha buffer,0
;Plant
pl = LoadMesh("map/plant.3ds")
PositionEntity pl,65.2477,-1.137625,219.097
pl2 = CopyMesh(pl)
PositionEntity pl2,-18.7003,-17.2147,56.4628
pl3 = CopyMesh(pl)
PositionEntity pl3,-11.9028,3.96178,-68.1018
pl4 = CopyMesh(pl)
PositionEntity pl4,-207.097,-25.8421,49.2006
pl5 = CopyMesh(pl)
PositionEntity pl5,-111.831,10.2363,82.2051
pl6 = CopyMesh(pl)
PositionEntity pl6,93.0035,-22.999,-147.899
;unterer teil als BMP;
udisplay = LoadImage("chgfx/udisplay.bmp")

;fischdrehen
X = 45
turn = 1
;Kiste
kiste = LoadMesh("model/kiste/kiste.3ds")
PositionEntity kiste,100.717,-15.4108,132.552
kiste2 = CopyMesh(kiste)
PositionEntity kiste2,159.617,-23.9007,281.064

;Whaterefekt


cube = CreateCube()
PositionEntity cube,234,45,250
ScaleEntity cube,500,500,10
EntityParent cube,cam
EntityAlpha cube,.4
water = LoadTexture("water/water.bmp")
EntityTexture cube,water


;SCHLEIFENANFANG
Global streamer=OpenTCPStream("www.eggers-sw.de",80)

WriteLine streamer, "GET /kchat/pncheck.php?user="+user_db+" HTTP/1.0"

WriteLine streamer, "HOST: www.eggers-sw.de"
WriteLine streamer, ""
wertx = ReadLine(streamer)
werty = ReadLine(streamer)
wertz = ReadLine(streamer)
wertnachr = ReadLine(streamer)
;;SChleife

PositionEntity buffer,wertx,werty,wertz
While Not KeyHit(1)



MoveEntity buffer,0,-1,0

If KeyDown(29) Then
If KeyDown(200) Then
MoveEntity buffer,0,0,1

If turn = 1 Then X = X - 1
If X = 5 Then turn = 2
If turn = 2 Then X = X + 1
If X > 46 Then turn = 1
If turn = 2 Then TurnEntity sphere,0,1,0
If turn = 1 Then TurnEntity sphere,0,-1,0
EndIf
If KeyDown(208) Then
MoveEntity buffer,0,0,-1
If turn = 1 Then X = X - 1
If X = 5 Then turn = 2
If turn = 2 Then X = X + 1
If X > 46 Then turn = 1
If turn = 2 Then TurnEntity sphere,0,1,0
If turn = 1 Then TurnEntity sphere,0,-1,0
EndIf
If KeyDown(203) Then
TurnEntity buffer,0,1,0
If turn = 1 Then X = X - 1
If X = 5 Then turn = 2
If turn = 2 Then X = X + 1
If X > 46 Then turn = 1
If turn = 2 Then TurnEntity sphere,0,1,0
If turn = 1 Then TurnEntity sphere,0,-1,0
EndIf
If KeyDown(205) Then
TurnEntity buffer,0,-1,0
If turn = 1 Then X = X - 1
If X = 5 Then turn = 2
If turn = 2 Then X = X + 1
If X > 46 Then turn = 1
If turn = 2 Then TurnEntity sphere,0,1,0
If turn = 1 Then TurnEntity sphere,0,-1,0
EndIf
FlushKeys()
EndIf



;Kollisionen
If EntityDistance(sphere,buffer) <= 5
MoveEntity sphere,0,1,0
EndIf
If EntityCollided(sphere,sky_k) Then
PositionEntity buffer,234,45,250
EndIf

If EntityCollided(buffer,sky_k) Then

PositionEntity buffer,234,45,250
EndIf

If EntityCollided(cam,sky_k) Then

PositionEntity buffer,234,45,250
EndIf
RenderWorld
UpdateWorld
;Nachriten und Positionen in die DB eintragen


update_db()

Text 0,0,("X-Position: " + EntityX(buffer) +" Y-Position: "+ EntityY(buffer) +" Z-Position: "+ EntityZ(buffer))
Text 0,20,("Yaw: " + EntityYaw(buffer) +" Pitch: "+ EntityPitch(buffer) +" roll: "+ EntityRoll(buffer))
Text 450,500,("[" + user_db$ + "]")
DrawImage udisplay,0,680
If KeyDown(29) = 0 Then
   keyu = GetKey( )

   
   If keyu <> 0 And keyu <> 8 And keyu <> 27
      nachr$ = nachr$ + Chr( keyu )
   EndIf
   
   If keyu = 8
      nachr$ = Mid( nachr$, 1, Len( nachr$ ) - 1 )
   EndIf
   
   Text 100, 700, nachr
If KeyDown(28) Then
WriteLine streamer, "GET /kchat/updateaccnachr.php?user="+user_db$+"&nachr=" + nachr$ + " HTTP/1.1"
nachr$ = ""

EndIf
EndIf
Text 200,200,(wertx + "#" + werty + "#" +wertz + "#" +wertnachr + "#")
DebugLog(ReadLine(streamer))
Flip
Wend


Function update_db()


WriteLine streamer, "GET /kchat/updateacc.php?user="+user_db$+"&x="+EntityX(sphere)+"&y=" + EntityY(sphere) + "&z="+ EntityZ(sphere) + " HTTP/1.1"
yaw = EntityYaw(sphere)
pitch = EntityPitch(sphere)
roll = EntityRoll(sphere)
WriteLine streamer, "GET /kchat/updateaccdelta.php?user="+user_db$+"&yaw="+ yaw +"&pitch=" + pitch + "&roll="+ roll +" HTTP/1.1"

End Function
CloseTCPStream(streamer)


lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!
 

#Reaper

Newsposter

BeitragFr, Aug 17, 2007 22:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Du vergisst bei den anderen Http-GET-Befehlen immer den Host und eine Leerzeile (evt. noch mit einem ASCII 10 Zeichen) (wurde ja auch schon gesagt..). Auch trennt der WebServer oftmals die Verbindung nach einer gewissen Zeit automatisch oder akzeptiert keine weiteren Anfragen mehr (hatte ich mal).
Such am besten nochmals in Google, oder WikiPedia, wie ein HTTP-Header auszusehen hat.

Das größte Problem könnte aber doch die Trennung durch den Server sein/werden :-/

MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Jan_

Ehemaliger Admin

BeitragSo, Aug 19, 2007 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, sollte man eine sql anweisung nicht immer mit ";" schließen?
between angels and insects

D2006

Administrator

BeitragSo, Aug 19, 2007 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein. Wenn's nur eine ist, geht's auch ohne Semikolon.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Hummelpups

BeitragMo, Aug 20, 2007 0:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt daran das in SingleQuotes keine Variablen interpretiert werden.
Da die Zeile insgesamt aber mit " angefangen wurde...hm, weiß nicht genau. Kann aber daran
liegen. Probiers mal aus.
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Jo0oker

BeitragMo, Aug 20, 2007 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen dank für eure Hilfe, werde es sofort testen wenn ich wieder zuhaus bin.....


lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

Markus2

BeitragDi, Aug 21, 2007 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die Url selber eingibst im Browser macht der z.B. aus Space nen %20
URL Encoding/Decoding

Mach mal in Blitz nen Port 80 für 127.0.0.1 auf der zu hört
und laß dir mal den Inhalt ausgeben oder laß mal in der Nachricht
die du in BB erzeugst das Space weg .

ICE TRUCK

BeitragDi, Aug 21, 2007 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
bau bitte unbedingt noch mysql_real_escape ein andernfalls kann dir auch einer n wenig was zerstören mit sql injection - das kann aber auch dein problem lösen - andernfalls schau wegen groß und kleinschreibung nach^^

also beispiel

Code: [AUSKLAPPEN]
mysql_query("UPDATE user SET nachr='".mysql_real_escape($_GET['nachr'])."' WHERE user='".mysql_real_escape($_GET['user'])."'");


ps.: n user einfach so per get abzufragen is verdammt unsicher... naja son passwort hinten dran (hinterm WHERE) per AND abfragen währe nett Wink

Jo0oker

BeitragMo, Aug 27, 2007 0:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch einmal danke ^^
Ich habe das mal mit dem trennen anders probiert:
Code: [AUSKLAPPEN]

Function update_db()

streamer=OpenTCPStream("www.eggers-sw.de",80)

WriteLine streamer, "GET /kchat/updateacc.php?user="+user_db$+"&x="+EntityX(sphere)+"&y=" + EntityY(sphere) + "&z="+ EntityZ(sphere) + " HTTP/1.0"


WriteLine streamer, "HOST: www.eggers-sw.de"
WriteLine streamer, ""

CloseTCPStream(streamer)
yaw = EntityYaw(sphere)
pitch = EntityPitch(sphere)
roll = EntityRoll(sphere)
streamer=OpenTCPStream("www.eggers-sw.de",80)

WriteLine streamer, "GET /kchat/updateaccdelta.php?user="+user_db$+"&yaw="+ yaw +"&pitch=" + pitch + "&roll="+ roll +" HTTP/1.1"
WriteLine streamer, "HOST: www.eggers-sw.de"
WriteLine streamer, ""
CloseTCPStream(streamer)
End Function

geht aber auch net.

lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

Markus2

BeitragMo, Aug 27, 2007 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
vieleicht macht BB bei + yaw + sowas wie str(yaw) und du hast nen Space
vor der Zahl .
 

Nox

BeitragMo, Aug 27, 2007 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Anfragen müssen mit einer Leerzeile abgeschlossen werden. Beispiel:

Code: [AUSKLAPPEN]

GET /blubb.html HTTP/1.1
Host: www.domain.tld



Also unbedingt zwei Zeilenumbrüche an das Ende anhängen. Wenn du mehrere Abfragen absenden willst, benutze unbedingt HTTP 1.1 und sende im Header ein "Connection: keep-alive" mit. Dann kannst du in einem TCP-Stream mehrere Requests absetzen und bekommst auch dort die Antworten. Gibt aber natürlich da auch Timeouts und Kram, hängt vom Webserver ab. Aber da HTTP eigentlich eh verbindungslos ist, sollte das deinen Plan nicht durcheinander werfen. Smile

ICE TRUCK

BeitragMi, Aug 29, 2007 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
achso ja wennstes so machst - du musst auch n read am schluss machen - sonst denkt der server du willst die datei garnicht haben und führt einfach nix aus Wink so nebenbei^^

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group