Update-Problem mit PHP/mysql

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Update-Problem mit PHP/mysql

    Hallo zusammen.

    Ich möchte mit folgendem Script eine Spalte auslesen aus der BD, den Punkt löschen, und dann wieder in die DB schreiben.

    PHP-Code:
     <?php   
    /** * Debugging 
    */ 
    error_reporting(E_ALL); #zeig alle Fehler ini_set('display_errors', '1'); #sorgt dafür, dass überhaupt Fehler angezeigt werden     
    $link mysql_connect("127.0.0.1""****""****") or die("Keine Verbindung möglich: " mysql_error()); 
    mysql_select_db("ranking") or die("Auswahl der Datenbank fehlgeschlagen");  
    $no_data=mysql_num_rows(mysql_query("SELECT id FROM clanranking"));  
    for(
    $i=1$i<=$no_data$i++) {     
    $link mysql_connect("127.0.0.1""****""****") or die("Keine Verbindung möglich: " mysql_error()); 
    mysql_select_db("ranking") or die("Auswahl der Datenbank fehlgeschlagen"); 
    $query " SELECT id, regnumpunkte FROM clanranking WHERE id=$i ";   
    $result mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());  
    while(
    $data=mysql_fetch_array($result))     { 
           
    $data['regnumpunkte'] = str_replace('.','',$data['regnumpunkte']); 
           echo 
    $data['id'] . " " $data['regnumpunkte'] . " " $no_data "<br>";          
           
    print_r($data);                 
          }  
    $link mysql_connect("127.0.0.1""****""****") or die("Keine Verbindung möglich: " mysql_error()); mysql_select_db("ranking") or die("Auswahl der Datenbank fehlgeschlagen");  
    $query "UPDATE clanranking SET regnumpunkte = '" $data['regnumpunkte'] . "' WHERE id = $i ";  
    $result mysql_query($query) or die("Anfrage fehlgeschlagen: " mysql_error());  
    }

    mysql_close();    
    ?>
    Das Auslesen und verändern funktioniert, wie es soll.

    print_r($data); ergibt Array ( [0] => 1 [id] => 1 [1] => 16.781 [regnumpunkte] => 16781 )

    Aber nach dem schreiben in die Tabelle ist die SPalte "Regnumpunkte" einfach nur leer.


    Was mach ich bitte falsch?

    LG MIcha
    Zuletzt geändert von wp180; 09.02.2009, 17:31.

  • #2
    Du nutzt keine PHP-Tags

    Kommentar


    • #3
      Generell kann mir dir übrigens empfehlen dein Code mal besser zu formatieren, das ist so ziemlich unübersichtlich. Paar mehr Zeilenumbrüche und Einrückungen können da sehr hilfreich sein.
      Mein aktuelles Projekt: Hausaufgaben Datenbank für kostenlose Hausaufgaben

      Kommentar


      • #4
        Re: Update-Problem mit PHP/mysql

        Original geschrieben von wp180
        Was mach ich bitte falsch?
        Du betreibst kein sinnvolles Debugging.

        Ausgabe der Update-Query, Ausgabe Anzahl der geaenderten Datensaetz, ggf. Test der Query per PMA, ...
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          PHP-Code:
          while($data=mysql_fetch_array($result))     { 
                 
          $data['regnumpunkte'] = str_replace('.','',$data['regnumpunkte']); 
                 echo 
          $data['id'] . " " $data['regnumpunkte'] . " " $no_data "<br>";          
                 
          print_r($data);                 
                }  
          $link mysql_connect("127.0.0.1""****""****") or die("Keine Verbindung möglich: " mysql_error()); 
          mysql_select_db("ranking") or die("Auswahl der Datenbank fehlgeschlagen");  
          $query "UPDATE clanranking SET regnumpunkte = '" $data['regnumpunkte'] . "' WHERE id = $i "
          PHP-Code:
          $data['regnumpunkte'
          sollte nach dem beenden der while schleife auch nciht mehr den richtigen wert haben. (das printr_r ist ja noch innerhalb)
          merk dir den wert oder mach das update innerhalb des while

          ansonsten natürlich was meine voredner dir vorschlagen, dann wärst du auch alleine drauf gekommen :P

          Kommentar


          • #6
            PHP-Code:
            <?php
                $link 
            mysql_connect('127.0.0.1','***','***');
                
            mysql_select_db('ranking');
                
                
            $sql "update clanranking set regnumpunkte=REPLACE(regnumpunkte, '.', '')";
                
                
            mysql_query($sql$link);
                
                echo 
            mysql_affected_rows() . " Datensätze wurden aktualisiert";
            ?>
            und schon sind die Punkte verschwunden.

            Kommentar

            Lädt...
            X