[PHP & MySQL] Eintragen klappt nicht

Morgan Girl
boah heute ist nicht mein tag... iwie geht was in meinem code nich. ich wusste auch nicht so richtig wie ich das mit den variablen und dem addieren machen sollte. in nem andern code hab ichs in etwa so. nur bei dem andern klappts und hier nich >.<

wäre euch sehr dankbar wenn ihr mal drüberschauen würdet, ich bin wohl mal wieder zu blind um den fehler sehen zu können...

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:

<?php
session_start();
?>
<link rel="stylesheet" href="style.css">
<?php
if(!isset($_SESSION["Username"]))
   {
   echo "<br><font color="red"><b>Du bist nicht eingeloggt!</b></font><br><br></a>";
   include("Login.htm");
   exit;
   }
?>
<html>
<head>    
<title>Reitstunde eintragen</title>
</head>
<body>
<br>
<?php
include ("Datenbank.php");
  $id $_POST['id'];
  $reiter $_POST['reiter'];
  $pferd $_POST['pferd'];
  $lehrer $_SESSION["Username"];
  $Kreuz $_POST['Kreuz'];
  $Steilsprung $_POST['Steilsprung'];
  $Wassergraben $_POST['Wassergraben'];
  $Mauer $_POST['Mauer'];
  $Oxer $_POST['Oxer'];
  $Kombination $_POST['Kombination'];
  $Triplebarre $_POST['Triplebarre'];
//die sprünge sind werte von 0 bis 5 die dann zum wert in der tabelle addiert werden sollen. in der tabelle als smallint(3), unsigned

$sql1 mysql_query("UPDATE `Reitscheule` SET `status` = 'Ja', `lehrer` = '$lehrer' WHERE id='$id'");


$sql2 mysql_query("UPDATE `pferd` SET `Kreuz` =  Kreuz + $Kreuz, `Steilsprung` =  Steilsprung + $Steilsprung, `Mauer` =  Mauer + $Mauer, `Oxer` =  Oxer + $Oxer, `Wassergraben` =  Wassergraben + $Wassergraben, `Triplebarre` =  Triplebarre + $Triplebarre, `Kombination` =  Kombination + $Kombination WHERE Name='$pferd'");


$sql3 mysql_query("UPDATE `Mitglieder` SET ´Kreuz´ =  Kreuz + $Kreuz, `Steilsprung` =  Steilsprung + $Steilsprung, `Mauer` =  Mauer + $Mauer, `Oxer` =  Oxer + $Oxer, `Wassergraben` =  Wassergraben + $Wassergraben, `Triplebarre` =  Triplebarre + $Triplebarre, `Kombination` =  Kombination + $Kombination WHERE Username='$reiter'");


if($sql1 AND $sql2 AND sql3 == true) {
         echo '<h1>Bewertung eingetragen</h1>Die Punkte wurden verteilt und dir wurde dein Lohn überwiesen.';
}

      else {
         echo '<b><font color="red">Beim Eintragen ist ein Fehler aufgetreten.</font></b><br>';
      }
?>
</body>
</html>
Nanni
Was genau klappt denn nicht?

Zeile 35: Reitscheule - gehört das so oder ist das ein Tippfehler?
`Kreuz` = Kreuz + $Kreuz: Da weiß ich nicht genau was du da meinst, aber vl gehört `Kreuz` = $Data[Kreuz] + $Kreuz? Weil ein Wort zu einer Zahl addieren, kommt mir ziemlich unlogisch vor ^^

Wär jetzt mal das was mir bei einmal durchschauen aufgefallen ist.
LG Nanni
Morgan Girl
ja das oben ahb ich geändert, das trägt es ein und das muss ich sonst bei jedem test zurücksetzen großes Grinsen

hm hab ich schon ausprobeirt, geht genauso wenig

komischerweise hab ich in nem andern code das hier stehen und das geht:
php:
1:
$sqlif mysql_query("UPDATE `Mitglieder` SET `$Bahnfigur` = `$Bahnfigur` + 1 WHERE Username='$_SESSION[Username]' AND `$Bahnfigur` < 100");


"Bahnfigur" ist dabei ein Wort und gleichzeitig der Name der Spalte in der Tabelle
Nanni
Achso großes Grinsen
Dann müsste es aber auch
SET `$Kreuz` = Kreuz + $Kreuz heißen, oder?
Morgan Girl
ok ich hab gefunden wies geht. um strings gehören '' und um Zahlen keine.
Das heißt in meinem Fall sähe das so aus:
php:
1:
$sql mysql_query("UPDATE `Tabelle` SET `Spalte` = 'Spalte' + $variable");


also den spaltennamen hinter dem = in '' setzten und die variable (nur wenn sie eine zahl ist!!) nicht.

nur falls jemand das gleiche problem hat und auf den thread stößt.