Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem mit update [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit update


 
florenz
28-03-2007, 21:11 
 
Hallo,

wer kann einem Anfänger etwas auf die Sprünge helfen?

Ich möchte in einer Tabelle eine Änderung mit update machen. Soweit ist mir auch alles noch klar. Wenn ich allerdings hinter dem where eine Stringvariable benutze ändert er den Datensatz nicht, und gibt auch keinen Fehler an. Wenn ich dort einen Namen direkt eingebe funktioniert alles.

So funktioniert es nicht:


$neuerrang = '1';
$alterrang = '3';
$spieler = 'erwin';

// Ändern der Daten in der Rangliste //

$sql = "update jos_rangliste

set rangid = '.$neuerrang.'

where name = '.$spieler.'";

$result = mysql_query($sql);







So funktioniert es:

$neuerrang = '1';
$alterrang = '3';
$spieler = 'erwin';

// Ändern der Daten in der Rangliste //

$sql = "update jos_rangliste

set rangid = '.$neuerrang.'

where name = \'erwin\'";

$result = mysql_query($sql);

Hat jemand eine Idee woran das liegen könnte.

Ich habe auch schon alle möglichen Varianten von’ und“ versucht, ohne Erfolg.

Vielen Dank schon mal.

Gruß Frank

 
ZombieChe
28-03-2007, 23:08 
 
lass ma bei der ersten Variante die Punkte weg...

 
asp2php
28-03-2007, 23:16 
 
Warum fällt es dem Anfänger immer so schwer, richtig mit String umzugehen, was würde dann passieren, wenn sie sich in C(++) mit pointer beschäftigen :rolleyes:

Wenn du String mit " einleitest, dann muss auch mit " abschliessen, genauso wie mit '. Escapen muss du nur, wenn du innerhalb des Strings nochmals das gleiche Zeichen verwenden willst, das den String umschliesst. Nicht einfach unüberlegt wild escapen. Außerdem gibt den String aus, dann sieht man den Fehler auch.

Das nächste Mal bitte unsere Regel: http://www.php-resource.de/forum/showthread.php?s=&threadid=50454 lesen. Danke.

 
florenz
28-03-2007, 23:29 
 
Super so klappt es.

Vielen Dank!

Gibt es eine Regel wo man Punkte braucht und wo nicht?

 
asp2php
28-03-2007, 23:44 
 
:rtfm: http://www.php.net/manual/en/language.types.string.php

 
closure
29-03-2007, 09:44 
 
Original geschrieben von asp2php
Warum fällt es dem Anfänger immer so schwer, richtig mit String umzugehen, was würde dann passieren, wenn sie sich in C(++) mit pointer beschäftigen :rolleyes:


Weil sie eben anfänger sind. Naja in c++ sind pointer tatsächlich
das was den leuten am schwersten fällt. Aber dort werden viele
fehler mit pointern durch einen absturz mit signal 11 quittiert.
Das merkt man sich vielleicht besser :).
Subtilere fehler werden erst bemerkt wenn man fortgeschritten ist
und geziehlt nach leaks sucht. Andererseits arbeiten fortgeschrittene
c++-programmierer eher selten mit nackten pointern, sondern
eher mit smart-pointern.

greets

 
asp2php
29-03-2007, 10:23 
 
closure, ich glaube, dass die Schwierigkeit im Verständnis mit dem Umgang mit String darin liegt, dass man bei PHP Variable direkt im String integrieren kann. Genau hier entstehen unüberlegte Monster wie $var = "$blub" oder "".$blah."...", ... etc. Und genauso mit dem register_globals = on. Ich kenne PHP erst ab Version 4.3, glaube ich, und habe von Anfang an mit Superglobale gearbeitet, allein aus dem Grund, dass ich von ASP her auch nur so kenne und nicht die Formvariable direkt ansprechen. Ich verstehe nicht, warum die Entwickler von PHP damals so 'n Sch*iß ermöglicht haben :dontknow:

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:08 Uhr.