Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema mysql insert o update

    Salve
    mi presento sono luca
    leggo spesso questo forum e anni fa ero anche registrato con un altro nick che putroppo ho dimenticato...
    Per necessita mi sto riaffacciando nel mondo del php e mysql dopo anni di pausa e quindi non mi ricordo molto
    Allora
    sto creando un database con tutte le vendite di ebay
    allora prendo i dati con le api di ebay
    ed inserisco tutto nel database
    ma se il record con il campo "SellingManagerSalesRecordNumber" è presente vorrei che aggiornasse
    quindi dovrei fare una query e se il campo è presente UPDATE altrimenti INSERT
    spero fin qui di non aver sbagliato niente

    non scrivo il codice completo perchè sono circa 80/90 campi

    ma l update sarebbe questo
    if(mysql_query ("UPDATE getsellertransactions SET Email='$Email' , FeedbackScore ='$FeedbackScore' WHERE SellingManagerSalesRecordNumber = '$SellingManagerSalesRecordNumber'")) {

    mentre l insert è questo

    if(mysql_query("INSERT INTO getsellertransactions (SellingManagerSalesRecordNumber,Em ...... )


    chiramente entrambi funzionano se girano singolarmente
    avrei bisogno solo che qualcuno mi spiegasse e magari scrivesse il codice di
    come fare ad avere le due righe insieme con un if che verifica se SellingManagerSalesRecordNumber è presete...

    Mi chiedevo se l aggiornamento oltre che dal campo SellingManagerSalesRecordNumber potesse dipendere anche dall campo Ultima modifica sempre preso tramite api di ebay
    così ultima modifica è uguale a quella presente non aggiornare direttamente
    Spero di essermi spiegato decentemente
    e mi auguro che qualcuno sappia indicarmi la strada giusta
    Buona befana a tutti

  2. #2
    Codice PHP:
    $query "INSERT INTO getsellertransactions
    (
       SellingManagerSalesRecordNumber,
       altri campi...

    VALUES
    (
       valori...
    )
    ON DUPLICATE KEY UPDATE getsellertransactions 
       SET 
          Email='
    $Email',
          FeedbackScore ='
    $FeedbackScore'
       WHERE SellingManagerSalesRecordNumber = '
    $SellingManagerSalesRecordNumber'";

    mysql_query($query) or die(mysql_error()); 
    In questo modo se l'id esiste nella tabella, viene aggiornata, mentre se non c'è allora viene inserita una nuova riga. Ovviamente la chiave deve essere primaria ed auto increment
    Ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.