syntax bei query lässt mich verzweifeln...

Rios

Erfahrenes Mitglied
$result=mysql_query("update contentsystem set dateiname=\"".$_POST['dateinameneu']." where id=\"".$_POST['id']"");

das feld dateiname in der db soll in den inhalt vom formularfeld(dateinameneu) geändert werden nur schreibt er das "where ..." mit in das feld, so dass der dateiname dann zb "dateineu.swf where id=" heisst.
Irgendwo hinten hab ich nen fehler mit anführungsstrichen und ich checks nicht, sieht den jemand?
 
versuchs mal so..
Code:
$result=mysql_query("update contentsystem set dateiname="".$_POST['dateinameneu']."" WHERE id="".$_POST['id']."");

da hatte ein "hinter *['dateinameneu']." gefehlt..
vielleicht klappts ja :-)
 
Zuletzt bearbeitet:
moment mal

Hallo,

mal ganz langsam für mich zum mitschreiben.
Schön wäre es wenn der code von deinem formular mit bei wäre.
Ich denke mal das er so aussieht:

<form action=upload.php3 method=post>
<input type=text name=dateinameneu>
<input type=submit value=senden>
</form>

und in der upload.php3 wird dann das stehen:

global $PHP_SELF, $db, $tabelle;
mysql($db, "UPDATE $tabelle SET dateiname='$dateinameneu' where id=$id);

stimmt das? probiere es mal aus.

Grüße Guido
 
auch hier gleich mal was angewöhnen ..

schreibt eure Querys sobald sie
komplizierter als "SELECT * FROM table"
werden mal in Variablen.

Dann könnt ihr im Falle eines Fehlers
einfach den Query ausgeben und direkt
in der DB (PMA) testen.

So findet ihr Fehler bedeutend schneller.

Gruß,
Mentor Jonathan
 
thx erstmal

@loki ne so gehts auch nicht komischerweise :(
@guido: ja das formular schaut so aus, nur übergebe ich mit $_POST['dateinameneu']
 
jetzt hab ichs

PHP:
$sql="update contentsystem set dateiname='".$_POST['dateinameneu']."' where id='".$_POST['aendern']."'";
 
Original geschrieben von Rios
$result=mysql_query("update contentsystem set dateiname=\"".$_POST['dateinameneu']." where id=\"".$_POST['id']"");

das feld dateiname in der db soll in den inhalt vom formularfeld(dateinameneu) geändert werden nur schreibt er das "where ..." mit in das feld, so dass der dateiname dann zb "dateineu.swf where id=" heisst.
Irgendwo hinten hab ich nen fehler mit anführungsstrichen und ich checks nicht, sieht den jemand?

hinter _post['id'] fehlt noch ein \ vorm "
ansonsten vergiss doch die " benutze doch statt dessen ' steigert die lesbarkeit
 
so siehts schöner aus:

PHP:
$sql="update contentsystem set dateiname='$_POST[\\\'dateinameneu\\\']' where id='$_POST[\\\'aendern\\\']'";

und ist auch leichter zu verstehen

//edit: blödes strip_slashes() :rolleyes:
 
Zuletzt bearbeitet:
Zurück