+ Antworten
Ergebnis 1 bis 9 von 9

Thema: datenbank überprüfen

  1. #1
    TP-Senior hallmi macht alles soweit korrekt Avatar von hallmi
    Registriert seit
    Nov 2003
    Ort
    Seebergen
    Beiträge
    164

    Question datenbank überprüfen

    hi,

    wie kann ich denn einen datenbank eintrag auf vorhandensein überprüfen, also wenn ein wert vorhanden ist dann updaten, wenn nicht vorhanden dann erstellen.

    mfg
    hallmi

  2. #2
    TP-Senior khromium macht alles soweit korrekt
    Registriert seit
    Aug 2003
    Ort
    Kaiserslautern
    Beiträge
    181
    Kenne jetzt nur eine Lösungen die allerdings 2 SQL-Abfragen umfasst.

    Machst erst eine Select-abfrage.

    SELECT id FROM table WHERE wert = $wert

    Wenn du dabei eine Ergebnismenge bekommst kannst du den Eintrag mittels der ID updaten.

    Wenn keine Ergebnismenge vorhanden ist, gibt es keinen Eintrag mit dem bestimmten Wert und du kannst ein INSERT durchführen.

  3. #3
    TP-Senior hallmi macht alles soweit korrekt Avatar von hallmi
    Registriert seit
    Nov 2003
    Ort
    Seebergen
    Beiträge
    164
    also wenn ich folgenden code benutze, bekomm ich nur eine weiße seite. wie gesagt, ich will überprüfen ob in der datenbank bereits der benutzer mit seiner benutzerid steht, bevor ein eintrag geschrieben wird. wenn kein eintrag besteht, dann soll einer erstellt werden ansonsten nur geupdatet.

    PHP-Code:
    $sessionSQL="select * from tbl_session like userid='".$_POST['userid']."'";
    $table_vorhanden=mysql_query($sessionSQL,$db);
    //2. while-schleife
    while($daten2=mysql_fetch_array($table_vorhanden)) {
      if (
    $_POST[$userid]=$daten2['userid'] {
        
    $sessionSQL="update tbl_session set sessionid='$sessionid',timestamp='$timestamp'";
        
    mysql_query($sessionSQL,$db);
      } else {
        
    $sessionSQL="insert into tbl_session (sessionid,userid,timestamp) values ('$sessionid','$daten[userid]','$timestamp')";
        
    mysql_query($sessionSQL,$db);
      }
     } 
    oder geht das auch noch einfach als ich es hier habe?

    mfg
    hallmi

  4. #4
    TP-Senior khromium macht alles soweit korrekt
    Registriert seit
    Aug 2003
    Ort
    Kaiserslautern
    Beiträge
    181
    Das Problem besteht weniger darin das dieses Vorgehen zu aufwendig wäre, sondern eher darin, dass sowohl die SQL-Syntax als auch die PHP-Semantik komplett falsch sind. Dabei gehe ich wenigstens davon aus das dies nur ein Codeausschnitt ist und du bereits eine Datenbankverbindung aufgebaut hast .

    Ich habe heute abend leider nicht mehr die Zeit dir ein richtiges Script anzubieten, würde dir aber empfehlen mal in nem Buch oder einem Tutorial oder Workshop nochmal MySQL anzugucken.

  5. #5
    TP-Specialist Master_T2 bringt sich richtig ein Master_T2 bringt sich richtig ein Avatar von Master_T2
    Registriert seit
    Oct 2002
    Ort
    Übach-Palenberg
    Beiträge
    2.272
    Hab es mal schnell bearbeitet. Ist nicht getestet, müsste aba eigentlich stimmen...

    PHP-Code:
    $sessionSQL "SELECT * FROM tbl_session WHERE userid = '$_POST[userid]'";
    $table_vorhanden mysql_query($sessionSQL);
    while(
    $row mysql_fetch_object($table_vorhanden)) {
        if (
    $_POST['userid'] ==  $row->user_id) {
            
    $sessionSQL "UPDATE FROM tbl_session Set 
            '$sessionid', timestamp = '$timestamp'"
    ;
        }
        else {
            
    $sessionSQL "INSERT INTO tbl_session ($sessionid, userid, timestamp) VALUES ('$sessionid', '$row->userid', '$timestamp')";
        }
        
    mysql_query($sessionSQL);

    Grüße aus Übach-Palenberg
    Tim

    http://www.template-shopping.de

  6. #6
    TP-Senior khromium macht alles soweit korrekt
    Registriert seit
    Aug 2003
    Ort
    Kaiserslautern
    Beiträge
    181
    Hmm, fehlt im UPDATE nicht eine WHERE-Klausel. Ansonsten weiß das Script doch überhaupt nicht welche Datensatz verändert werden soll ??!

  7. #7
    TP-Specialist mike bringt sich richtig ein Avatar von mike
    Registriert seit
    Jan 2002
    Ort
    TP/Dynamik
    Beiträge
    2.876
    $_POST['userid'].... von wo bekommst du die denn her?

    die While Schleife ist in keinen Fällen notwendig

    Select * from ebenfalls nicht


    ...und ja, bei dem Update geht die Where Klausel ab.
    Gehelft? Hier kannst du dich bedanken.

    mike

  8. #8
    TP-Senior hallmi macht alles soweit korrekt Avatar von hallmi
    Registriert seit
    Nov 2003
    Ort
    Seebergen
    Beiträge
    164
    $_POST['userid'].... von wo bekommst du die denn her?
    mist,irgendwas stimmt nicht... beim überprüfen des logins soll auch auf das vorhandensein der userid überprüft werden, also wenn sie schon einmal in der db ist, dann nur updaten und wenn sie nicht in der db ist dann insert.

    könnt ihr mir weiterhelfen?

    mfg
    hallmi

  9. #9
    TP-Specialist mike bringt sich richtig ein Avatar von mike
    Registriert seit
    Jan 2002
    Ort
    TP/Dynamik
    Beiträge
    2.876
    aha. ein login-system

    für normal ist dieser userID-Wert nicht bekannt. du hast nur loginname und passwort.

    vielleicht hilft dir das weiter:
    http://www.traum-projekt.com/forum/s...threadid=35220
    Gehelft? Hier kannst du dich bedanken.

    mike

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

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