If-Anweisung richtig?

Es gehört nicht zum SQL-Standard, dass man bei Integer-Feldern die Werte in Anführungszeichen einschließt:
SQL:
-- Richtig
INSERT INTO statistic (clicks) VALUES (56)

-- Falsch
INSERT INTO statistic (clicks) VALUES ('56')
INSERT INTO statistic (clicks) VALUES ("56")

Hast du dir jetzt das SQL Query per echo() ausgeben lassen?
 
Zuletzt bearbeitet:
ja, habe sie ausgeben lassen, für die Bedingung wenn Heimtore > gasttore, sprich heim hat gewonnen:
PHP:
UPDATE fifa_mannschaften Set spiele = spiele + 1, siege = siege + 1, unentschieden = unentschieden, niederlagen = niederlagen, tore = tore + 3, gegentore = gegentore + 0, punkte = punkte + 3 WHERE name = "Borussia Dortmund"

und

PHP:
UPDATE fifa_mannschaften Set spiele = spiele + 1, siege = siege, unentschieden = unentschieden, niederlagen = niederlagen + 1, tore = tore + 0, gegentore = gegentore + 3, punkte = punkte WHERE name = "Hamburger SV"

eigentlich kommt dor ja genau das raus, was ich will :S

Mein aktueller code sieht so aus:

PHP:
if($spiel->heimtore > $spiel->gasttore) {
	$aendern5 = 'UPDATE fifa_mannschaften Set
spiele = spiele + 1, 
siege = siege + 1,
unentschieden = unentschieden,
niederlagen = niederlagen,
tore = tore + '.$spiel->heimtore.', 
gegentore = gegentore + '.$spiel->gasttore.', 
punkte = punkte + 3 
WHERE name = "'.$spiel->heim.'"';
echo $aendern5;

$aendern6 = 'UPDATE fifa_mannschaften Set
spiele = spiele + 1,
siege = siege,
unentschieden = unentschieden, 
niederlagen = niederlagen + 1, 
tore = tore + '.$spiel->gasttore.', 
gegentore = gegentore + '.$spiel->heimtore.', 
punkte = punkte
WHERE name = "'.$spiel->gast.'"';
echo $aendern6;
}
 
Zuletzt bearbeitet:
Und wo sind die mysql_query()-Aufrufe in der if-Condition?

EDIT: Hast du die SQL-Statements mal mit phpMyAdmin getestet?
 
ja habe ich getestet, sie funktionieren genau so wie ich es will.

und die query aufrufe habe ich nur oben nicht drin, im program schon!
 
ok, also ich stehe vor einem neuen problem....

Die anweisung heimtore > gasttore funktioniert.
Die anweisung heimtore = gasttore funktioniert.
Jedoch funktioniert heimtore < gastore nicht....

PHP:
if($spiel->heimtore < $spiel->gasttore) {
	// sieg gast 
		$aendern9 = 'UPDATE fifa_mannschaften Set
spiele = spiele + 1, 
siege = siege,
unentschieden = unentschieden,
niederlagen = niederlagen + 1, 
tore = tore + '.$spiel->heimtore.', 
gegentore = gegentore + '.$spiel->gasttore.', 
punkte = punkte
WHERE name = "'.$spiel->heim.'"';
$update9 = mysql_query($aendern9) or die (mysql_error ($verbindung));

$aendern11 = 'UPDATE fifa_mannschaften Set
spiele = spiele + 1, 
siege = siege + 1, 
unentschieden = unentschieden,
niederlagen = niederlagen,
tore = tore + '.$spiel->gasttore.', 
gegentore = gegentore + '.$spiel->heimtore.', 
punkte = punkte + 3 
WHERE name = "'.$spiel->gast.'"';
$update11 = mysql_query($aendern11) or die (mysql_error ($verbindung));
 
er trägt bei einer höheren Anzahl der gasttore immer ein unentschieden für beide ein, sprich die anweisung von gasttore = heimtore....
 
Ich bin ehrlich gesagt, komplett überfragt. PHP arbeitet bei IF-Conditions wie jede andere turing-vollständige Sprache auch atomar. Sprich, entweder ist eine Bedingung erfüllt oder nicht. Du solltest mal damit anfangen, die ganzen SETs raus zu nehmen, die keine Änderungen bewirken. Beispiel:

PHP:
        $aendern9 = 'UPDATE fifa_mannschaften Set
spiele = spiele + 1, 
siege = siege,
unentschieden = unentschieden,
niederlagen = niederlagen + 1, 
tore = tore + '.$spiel->heimtore.', 
gegentore = gegentore + '.$spiel->gasttore.', 
punkte = punkte
WHERE name = "'.$spiel->heim.'"';

wird zu

PHP:
        $aendern9 = 'UPDATE fifa_mannschaften Set
spiele = spiele + 1, 
niederlagen = niederlagen + 1, 
tore = tore + '.$spiel->heimtore.', 
gegentore = gegentore + '.$spiel->gasttore.', 
WHERE name = "'.$spiel->heim.'"';

Dann postest du einfach mal den kompletten Code der ganzen IF's hier. Sonst kommen wir da nicht weiter.
 
ich habs jetzt. das Problem war wie folgt:

1. bedingung Heimtore größer Gasttore
2. bedingung heimtore = gasttore
3. bedignung heimtore kleiner gasttore

Das problem war, das ich in der zweiten bedingung ein = hatte, sprich: $heimtore = $gasttore und kein ==!
 
Zurück