Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    come fare select + update insieme su un db mysql

    Devo aggiornare il campo importo (di tipo integer) su un database mysql, lo faccio con la seguente query

    $query="UPDATE credito SET importo = ? WHERE email = ?";
    if ($stmt= $mysqli->prepare($query)) {
    $stmt->bind_param("is",$importo,$email);
    $stmt->execute();
    $stmt->close();
    }

    La query funziona, ma quello che vorrei ottenere io è sommare al valore attuale, il valore del nuovo credito
    mi spiego: se devo aggiornare di 30 euro il campo importo che sul db è 120, il risultato finale deve essere 150
    Potrei farlo con una select per leggermi l'importo sul db e poi fare l'aggiornamento, volevo chiedere se c'era un modo per fare tutto in una query, ho provato mettendo il simbolo più ma non funziona, questa è la mia prova non funzionante:

    $query="UPDATE credito SET importo += ? WHERE email = ?";
    if ($stmt= $mysqli->prepare($query)) {
    $stmt->bind_param("is",$importo,$email);
    $stmt->execute();
    $stmt->close();
    }

  2. #2
    Se vuoi eseguire più query in contemporanea, in via generale, devi usare mysqli_multi_query (occhio, mysqli, ovvero usando le librerie Improved!).
    Nel tuo caso invece semplicemente sbagli la costruzione della query.
    Deve diventare
    codice:
    set `importo` = `importo` + ?

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.