MYSQL Schleife funktioniert nicht

DonDemf

Erfahrenes Mitglied
Hallo,
ich habe die Tabelle transfermarkt_spieler mit Einträgen, die älter sind als 2 Tage.
Diese ermittle ich im PHP Script durch folgende abfrage und lasse sie mir zur Überprüfung auch ausgeben:

PHP:
$abfrage = 'SELECT * FROM transfermarkt_spieler WHERE trainer = "DonDemf" AND (TO_DAYS(now()) - TO_DAYS(datum)) > 2';
$ergebnis = mysql_query($abfrage);

echo mysql_error();

while($row = mysql_fetch_object($ergebnis))
   {
   echo "$row->name<br />";
   }

Nun möchte ich jede zeile, sprich momentan sind es zwei, weil zwei einträge älter als 2 Tage sind, updaten!

PHP:
   while($fetch1 = mysql_fetch_array($ergebnis)){   ##beginne die schleife mit tor nummer 1
   
         $sql2 = mysql_query("UPDATE 
                                    fifa_spieler 
                              SET 
                                    verein = Vereinslos
                              WHERE 
                                    name = '".$fetch1["name"]."' 
									AND vorname = '".$fetch1["vorname"]."' 
									AND verein = '".$fetch1["mannschaft"]."'
                              "); 
							    echo mysql_error();
## setze tor+1 vom spieler des ersten Tores
}

Irgendwie funktioniert diese Abfrage nicht.
Er soll in der Tabelle fifa_spieler die spieler updaten, welche den Einträgen in transfermarkt_spieler entsprechen. Und zwar soll der verein zu Vereinslos geändert werden.

Das MYSQL Error spuckt auch keinen fehler aus.
 
Vereinslos ist eine Zeichenkette und die muss bei MySQL auch als solche deklariert werden. Daher musst du den String in Quotes setzen:

Code:
UPDATE 
                                    fifa_spieler 
                              SET 
                                    verein = 'Vereinslos'

....
 
Mir scheint, dass es eher ein biologisches Problem ist. Der "Thread-Schreib-Reflex" scheint mir gegenüber dem "Selbst-Debugg-Reflex" überproportional ausgeprägt zu sein. Eigne dir geeignete Debugging-Strategien an. Dann kannst du solche Probleme ineinem Bruchteil der Zeit lösen, die du brauchst, um auf Antworten zu warten.
 
Zurück