tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
387
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    christoph_hro christoph_hro ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Beiträge
    27
    Hi @ all,

    ich will mit PHP MySQL-Einträge in ner DB updaten. Hier ist der code, den ich dafür andachte:

    PHP-Code:
            $id $_SESSION['id'];
            
    $query_update "UPDATE LOW_PRIORITY users SET nickname=".$_POST['nickname'].", surname=".$_POST['surname'].", name=".$_POST['name'].", password=".$_POST['password'].", nickname=".$_POST['school'].", nickname=".$_POST['school_short'].", mail=".$_POST['mail'].", mobile=".$_POST['mobile'].", icq=".$_POST['icq']." WHERE id = ".$id."";
        
            
    // Erfolgreiche Änderung ANFANG
            
    if(!isset($error)) {
                        
    $password md5($_POST['password']);
    if(
    $insert = @mysql_query($query_update) ) {
                            
    session_destroy();
                            
    session_register("id""surname""nickname""name",  "school_short""school""mail""mobile""icq");
                            echo 
    '<p align="center">Erfolgreich geändert!<br><br><a href="sichere_seite_'.$result['school_short'].'.php">Zu deiner Schulseite</a></p>';
                        }    
                        else {
                            echo 
    '<p align="center">Beim Ändern trat leider ein Fehler auf!<br><br><a href="neu.php">Zurück</a></p>';
                        }
            } 
    Nur irgendwie gibts da Probleme. Er springt immer sofort zum else-Teil... Ist ein Fehler im Code oder muss ich nach logischen Fehlern suchen?

    Fragt bei Fragen

    Christoph
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Der Eintrag zum Ändern der Spalte nickname erscheint zweimal. Ist das Absicht?
     
    Markus Wulftange

  3. #3
    christoph_hro christoph_hro ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Beiträge
    27
    Ok, schön dumm, wenn man die Kopieren-Funktion nutzt und die Einträge dann nicht entsprechend anpasst... (siehe hier: nickname=".$_POST['school'].", nickname=".$_POST['school_short'].")

    Aber ich habs mit dem geänderten auch mal ausprobiert, funktioniert trotzdem nicht...

    christoph
     

  4. #4
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Versuch's mal wie folgt:
    PHP-Code:
    <?php
      
    [...]
      
    $query_update "
    UPDATE LOW_PRIORITY
            `users`
      SET
            `nickname` = '"
    .$_POST['nickname']."',
            `surname` = '"
    .$_POST['surname']."',
            `name` = '"
    .$_POST['name']."',
            `password` = '"
    .$_POST['password']."',
            `nickname` = '"
    .$_POST['school']."',
            `nickname` = '"
    .$_POST['school_short']."',
            `mail` = '"
    .$_POST['mail']."',
            `mobile` = '"
    .$_POST['mobile']."',
            `icq` = '"
    .$_POST['icq']."'
      WHERE
            `id` = "
    .$id."
    "
    ;
      [...]
    ?>
     
    Markus Wulftange

  5. #5
    christoph_hro christoph_hro ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Beiträge
    27
    ne, geht immer noch nicht... Ist diese Zeile
    if($insert = @mysql_query($query_update) )
    überhaupt richtig?

    Christoph
     

  6. #6
    Registriert seit
    May 2002
    Ort
    50.59° Nord 11.21° Ost
    Beiträge
    1.837
    PHP-Code:
    if(mysql_query($sql)) { .... } 
    else { .... } 
     
    »

  7. #7
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    Wann begreift Ihr eigentlich, dass man sich mit mysql_error() die MySQL-Fehlermeldungen holen kann?
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

  8. #8
    christoph_hro christoph_hro ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Beiträge
    27
    So, jetzt hab ich einfach mal mysql_error() ( ) benutzt und kam acuh auf die Syntax- und DB-fehler. Er gibt mir jetzt auch ein erfolgreich geändert zurück, nur wirklich updaten tut ers dann aber doch nicht...

    PHP-Code:
    $id $_SESSION['id'];
            
    $query_update 
                UPDATE 
                        `users` 
                  SET 
                        `surname` = '"
    .$_POST['surname']."', 
                        `name` = '"
    .$_POST['name']."',
                        `nickname` = '"
    .$_POST['nickname']."',                      
                        `password` = '"
    .$_POST['password']."', 
                        `school` = '"
    .$_POST['school']."', 
                        `school_short` = '"
    .$_POST['school_short']."', 
                        `mail` = '"
    .$_POST['mail']."', 
                        `mobile` = '"
    .$_POST['mobile']."', 
                        `icq` = '"
    .$_POST['icq']."' 
                  WHERE 
                        `id` = '"
    .$_SESSION['id']."' 
            "

                
            
    // Erfolgreiche Änderung ANFANG
            
    if(!isset($error)) {
                        
    $password md5($_POST['password']);
    //                    if($insert = @mysql_query($query_update) ) {
                        
    if(mysql_query($query_update) ) {
                            
    session_destroy();
                            
    session_register("id""surname""nickname""name",  "school_short""school""mail""mobile""icq");
                            echo 
    '<p align="center">Erfolgreich geändert!<br><br><a href="sichere_seite_'.$result['school_short'].'.php">Zu deiner Schulseite</a></p>';
                        }    
                        else {
                            echo 
    '<p align="center">Beim Ändern trat leider ein Fehler auf!<br><br>'.mysql_error().'<br><br><a href="profil_bearbeiten.php">Zurück</a></p>';
                        }
            }
            
    // Erfolgreiche Änderung ENDE 
    Christoph
     

  9. #9
    Avatar von Sven Petruschke
    Sven Petruschke Sven Petruschke ist offline Mitglied Diamant
    Registriert seit
    May 2003
    Ort
    Leipzig
    Beiträge
    2.323
    Wen die SQL-Syntax korrekt ist, aber dennoch kein Datensatz geändert wird, stimmt vielleicht die Bedingung in der Where-Klausel nicht. Lass Dir mal das SQL-Statement ausgeben und schau nach, ob da wirklich WHERE `id` = 'irgend ein wert' steht Und ob die ID, nach der eingeschränkt wird auch wirklich in der DB steht.

    snuu
     
    Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
    www.sven-petruschke.de

Ähnliche Themen

  1. Einträge Updaten
    Von neo2kone im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 09.12.03, 10:17
  2. DB Einträge durch Checkboxen Updaten
    Von Lord-Lance im Forum ASP
    Antworten: 2
    Letzter Beitrag: 05.12.03, 22:15
  3. mehrere einträge updaten(mysql) jedoch...
    Von Operator_Jon im Forum PHP
    Antworten: 23
    Letzter Beitrag: 18.08.03, 14:44
  4. Ich kann Einträge nicht updaten...
    Von Eiszwerg im Forum PHP
    Antworten: 6
    Letzter Beitrag: 03.12.02, 13:36
  5. Einträge updaten und löschen
    Von Sebastian Wramba im Forum PHP
    Antworten: 6
    Letzter Beitrag: 01.07.02, 16:59