probleme mit einer $variable

leute, kann mir den niehmand helfen

ich komme einfach nicht weiter, ich gebe euch ja auch alles infos die ihr braucht.

bitte es ist wichtig

gruess dempf
 
Häng die betroffenen Dateien und ein Beispiel-SQL-Schema (kannst auch Deine Beispieldatenbank exportieren) an das Posting. Dann testen wir das am laufenden Script.
Ich denke das wird besser laufen als rein theoretisch herumzurätseln *g*
 
Hallo...

Variablen außerhalb von Funktionen, wenn Sie nicht GLOBAL sind, haben innerhalb der Funktion keinen Wert.

Dein Quellcode

PHP:
$id1 = GET['id'];
 
function aktualisiereEintrag( $id, $name, $location, $hp, $mail )
{
global $link;
$query = "UPDATE eintraege SET name='".$name."', location='".$location."',
hp='".$hp."', mail='".$mail."'
WHERE id='".$id1."'"; 
$ergebnis = mysql_query( $query, $link );
if ( ! $ergebnis ) die ( "aktualisiereEintrag update error: ".mysql_error() );
}

Die Variable $id1 hat den inhalt von $_GET['id'], übergeben wird ader die Variable $id an die Funktion. Die Where - Bedingung ist aber id = $id1, doch $id1 wurde nicht übergeben und ist somit auch nicht deklariert.

Oder war das nur ein schreibfehler...

jenser
 
Jetzt haben wir schon soviel Code hier, das man schon bald nicht mehr weiss, was wohin gehört :confused:

Bei dem Code über mir muß die Variable
$id1 = $_GET['id'];

sein (abgesehen von der $id1)
Aber versuch dennoch mal das mit Hochkomma und Anführungszeichen, da der Rest deiner Variablen ja auch so schon drin stehen.

 
PHP:
name='".$name."', location='".$location."',

Ich weiss nicht ob das der Fehler sein kann, aber bei all meinen MySQL-Statements mittels UPDATE verwende ich nie doppelte Anführungszeichen
Hast du es mal so probiert:
PHP:
query = "UPDATE eintraege SET name='$name', location='$location',
hp='$hp', mail='$mail'
WHERE id='$id'";

Auch Punkte verwende ich nie, denn damit würde ich doch Strings zusammensetzen.
Mit Synthax-Highlightning müssen die Tabellenfelder im Statement immer als String angezeigt werden (also rot). Der Parser sollte keine Probs dabei haben die Vars im String zu erkennen, denn darum wird jeder Var ja ein $ vorangestellt;)
Gruss

tobi
 
Zurück