anpera.net
https://anpera.homeip.net/phpbb3/

Wohnviertel
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=3119
Seite 1 von 1

Autor:  Kearn [ Sa 18 Nov, 2006 00:24 ]
Betreff des Beitrags:  Wohnviertel

...
ich hab eben ein neues Wohnviertel (Wohnviertel remake auf PHP4 OOP Basis) auf meinen Server drauf...nur naja..
Es gibt bisher eh nur vier Häuser..alerdings kann man von den Vier nur zwei problemlos betretten...
bei den anderen beiden kommt folgende Meldung:

[php]UPDATE `houses` SET owner = 1,status = 1, gold = 15000, gems = 25, housename = '`4t`Qui`6le `4i'n `Qdi`6n', description = 'test', ausbauten = '' WHERE houseid = 2

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 'n `Qdi`6n', description = 'test', ausbauten = '' WHERE houseid =[/php]

bzw. beim andere Haus eigenltich dasselbe:
[php]UPDATE `houses` SET owner = 7,status = 1, gold = 58800, gems = 45, housename = '`VQ`7u'`Vel`7la', description = 'test', ausbauten = '' WHERE houseid = 5

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 'Vel`7la', description = 'test', ausbauten = '' WHERE houseid = 5[/php]

vielen dank schon mal im vorraus ^^

Autor:  Harthas [ Sa 18 Nov, 2006 00:26 ]
Betreff des Beitrags: 

Ich könnte mir vorstellen, dass es daran liegt, dass genau diese beiden Häuser ein ' im Namen haben...

Autor:  Kearn [ Sa 18 Nov, 2006 00:32 ]
Betreff des Beitrags: 

o.o
ok das erstaunt mich wirklich....aber du hattest recht...
vielen dank ^___^

Autor:  Harthas [ Sa 18 Nov, 2006 00:33 ]
Betreff des Beitrags: 

Nun, wirklich erstaunlich ist es eigentlich nicht ;-)

Denn sobald ein ' erscheint, denkt SQL, dass der String beendet sei... *g* Und dementsprechend ist er dann auch ziemlich irritiert, wenns hinten noch weiter geht... xD

Autor:  Kamui [ Sa 18 Nov, 2006 00:36 ]
Betreff des Beitrags: 

Harthas wenn du dir den Syntax ansiehst brauchst du dir nichts mehr vorstellen sondern dann weisst du das es so ist ;)
schau mal
[php]
housename = '`4t`Qui`6le `4i'n `Qdi`6n',

[/php]

Nun nach dem ' im Namen wird es blau angezeigt also wird es als variable anerkannt das erklärt den Fehler doch schon ;)

EDIT: xD Mist warst schneller :P

Autor:  Harthas [ Sa 18 Nov, 2006 00:42 ]
Betreff des Beitrags: 

Ich bin zu müde, um Abends noch so viele kleine Striche zu erkennen :-P

Allerdings will ich dich verbessern... Eigentlich ist housename ja keine Variable, sondern eine Spalte (Oder zählt man die als Variable? o-o). Naja, ich mahcs jedenfalls nicht. xD. Auch wenn man diese schlussendlich gleich zuweist.

Autor:  Kamui [ Sa 18 Nov, 2006 00:47 ]
Betreff des Beitrags: 

Ja oder Spalte für die DB konnte mich grade irrgendwie nicht besser ausdrücken aber das ' in dem Namen schlisst ja die Spalte so mein ich das ^^

Autor:  Auric [ So 19 Nov, 2006 17:23 ]
Betreff des Beitrags: 

Die Funktion "eintragen" einfach mal hiermit ersetzen - das sollte den String ausreichen maskieren.

[php] function eintragen() {
// Prozedur zum speichern der aktualisierten Seiten
$sql="UPDATE `houses` SET owner = ".$this->besitzerid.",status = ".$this->status.", gold = ".$this->gold.", gems = ".$this->gems.", housename = '".addslashes($this->name)."', description = '".addslashes($this->text)."', ausbauten = '".implode(',',$this->ausbauten)."' WHERE houseid = ".$this->id;
db_query($sql) or die(db_error(LINK));
} // Ende Funktion[/php]

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/