/** * Aggiorna il saldo di un metodo di pagamento * @param $nuovo_saldo il saldo da aggiornare * @return int il numero di righe modificate */ public function aggiornaSaldoPagamento(Pagamento $pay, $nuovo_saldo) { $floatVal = filter_var($nuovo_saldo, FILTER_VALIDATE_FLOAT, FILTER_NULL_ON_FAILURE); if (!isset($floatVal)) { return null; } $query = "update pagamenti set saldo = ? where id = ?"; $mysqli = Db::getInstance()->connectDb(); if (!isset($mysqli)) { error_log("[aggiornaSaldoPagamento] impossibile inizializzare il database"); $mysqli->close(); return 0; } $stmt = $mysqli->stmt_init(); $stmt->prepare($query); if (!$stmt) { error_log("[aggiornaSaldoPagamento] impossibile" . " inizializzare il prepared statement"); echo 'impossibile inizializzare il prepared statement'; return 0; } if (!$stmt->bind_param('di', $floatVal, $pay->getId())) { error_log("[aggiornaSaldoPagamento] impossibile" . " effettuare il binding in input"); echo 'impossibile effettuare il binding in input'; return 0; } if (!$stmt->execute()) { error_log("[aggiornaSaldoPagamento] impossibile eseguire lo statement"); echo 'impossibile eseguire lo statement'; return 0; } $n = $stmt->affected_rows; $pay->setSaldo($floatVal); $stmt->close(); $mysqli->close(); return $n; }