Ergebnis 1 bis 10 von 13

Thema: MySQL Insert problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer
    Registriert seit
    04.07.2007
    Beiträge
    43

    MySQL Insert problem

    Hallo,

    Ich habe ein kleines problem.

    Nach absenden eines formulars wird folgender befehl ausgeführt:

    PHP-Code:
    mysql_query("INSERT INTO at_gekauft(kid, aid, anteile, aktiv) VALUES('$klamm', '$id', '$menge', '0')"); 
    da dies die Datenbank schnell füllt, würde ich es gerne so haben,
    das vor dem befehl abgefragt wird ob es schon einen eintrag gib.
    es soll geprüft werden, ob die übergebene kid schon einen eintrag
    mit der übergebenen aid hat.

    falls nun ein eintrag gefunden wurde soll nur ein UPDATE gemacht werden.

    Hoffe das ich mich verständlich ausgedrückt habe.



    mfg

  2. #2
    Administrator Avatar von Lokutos
    Registriert seit
    29.03.2008
    Beiträge
    3.147
    so ??
    PHP-Code:
    db_query ('UPDATE at_gekauft(kid, aid, anteile, aktiv) VALUES('$klamm', '$id', '$menge', '0')" WHERE uid = '.$_POST['uid']); 
    SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting

  3. #3
    Benutzer
    Registriert seit
    04.07.2007
    Beiträge
    43
    hi,

    der update befehl ist klar

    Mir geht es um die vorherige abfrage ob ein passender eintrag vorhanden ist.



    mfg

  4. #4
    Erfahrener Benutzer
    Registriert seit
    16.06.2009
    Beiträge
    2.346
    sorry wenn ich es nur kurz beschreibe


    db=daten

    if daten vorhanden= sql update
    else sql_insert


    also ne ganzeinfache if schleife dafür


    DimpleX

  5. #5
    Zitat Zitat von DimpleX Beitrag anzeigen
    sorry wenn ich es nur kurz beschreibe


    db=daten

    if daten vorhanden= sql update
    else sql_insert


    also ne ganzeinfache if schleife dafür


    DimpleX
    jetzt nur noch in code:

    PHP-Code:
    db_query('UPDATE.... ['usw']');
    if (
    mysql_affected_rows() == 0) {
    db_query('INSERT....');

    EDIT: gremlins lösung ist besser... allerdings ginge dann auch schon der replace befehL

  6. #6
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Hi,
    du kannst auch einen PRIMARY KEY oder UNIQUE INDEX auf das Feld / die Felder legen welche einmalig sein sollen und dann mit ON DUPLICATE KEY arbeiten.

    Wenn z.B. das Feld kid einen PRIMARY KEY hat und somit nur 1x vorhanden sein kann sähe das so aus:

    PHP-Code:
                 mysql_query("INSERT INTO at_gekauft(kid, aid, anteile, aktiv) VALUES('$klamm', '$id', '$menge', '0')
    ON DUPLICATE KEY UPDATE anteile=anteile+
    $menge"); 
    Bei dem Update kannste natürlich dann auch noch mehrere Felder per Komme trennen wie bei jedem normalen Update auch. Es ist ungetestet aber so in der Art sollte es funktionieren, ansonsten mal kurz bei im Mysql Manual lesen.
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  7. #7
    Erfahrener Benutzer
    Registriert seit
    16.06.2009
    Beiträge
    2.346
    war ja klar @Gremlin du must es immer perfektionieren


    DimpleX

  8. #8
    Benutzer
    Registriert seit
    04.07.2007
    Beiträge
    43
    Zitat Zitat von cdp Beitrag anzeigen
    Wenn z.B. das Feld kid einen PRIMARY KEY hat und somit nur 1x vorhanden sein kann sähe das so aus:

    hi,

    Leider ist in der tabelle kein feld welches nur 1x vorhanden sein darf.


    mfg

  9. #9
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    auf wunsch der erstellers:

    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

Ähnliche Themen

  1. [SQL] MySQL tmp Tables problem
    Von sterni im Forum [HD] Programmieren
    Antworten: 3
    Letzter Beitrag: 24.01.2013, 19:44
  2. [SQL] Mysql Problem beim Installieren von VMS
    Von Lars-Marcel im Forum [HD] Programmieren
    Antworten: 7
    Letzter Beitrag: 04.07.2011, 12:54
  3. Sperrcron - Mysql problem..
    Von cr00sy im Forum Support zu Addons & Erweiterungen
    Antworten: 6
    Letzter Beitrag: 10.03.2010, 07:00
  4. Mysql Problem Tagesklickrally
    Von Slith im Forum Support zu Addons & Erweiterungen
    Antworten: 4
    Letzter Beitrag: 11.02.2010, 18:59
  5. MYSQL Problem bei dem Slot Icy Seven
    Von vecc im Forum Support zu Addons & Erweiterungen
    Antworten: 3
    Letzter Beitrag: 21.04.2008, 00:32

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •