PDA

View Full Version : Query di select per assegnazione a variabile non va.


Hikarusama
19-01-2019, 17:48
Salve, potete illuminarmi sul perchè non viene assegnato il risultato della query di ricerca alla variabile relativa?

L'idea è quella di recuperare il valore presente in un campo ed assegnarlo alla variabile. Successivamente recupero il valore
inserito dall'utente e sommo le due variabili. Dopo passo il valore della terza variabile (che contiene il valore presente nel db, sommato al valore inserito dall'utente) e lo inserisco nel db.

Tutto molto bello ma non riesco a recuperare sto benedetto vecchio valore dal db.



<?php
$dbhost = '*****';
$dbuser = '***';
$dbpass = '****';
$dbname = '*****;
$conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);

if(! $conn ) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connessione avvenuta con successo<br>';


if(isset($_POST['Submit1'])) {
// è stato premuto il primo pulsante

$valorepresente= "SELECT AffittoGennaio FROM PomeziaCosti";
mysqli_query($conn, $valorepresente);
echo("$valorepresente");

$valoreDaSommare = $_POST['affittogennaio'];

$valoreDaPassare = $valorepresente + $NuovoValoreAffitto;



$querydiupdate = "UPDATE PomeziaCosti SET AffittoGennaio ='$valoreDaPassare' ";
mysqli_query($conn, $querydiupdate);

/* if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
} */


}



mysqli_close($conn);
?>

Pbdz
27-01-2019, 14:48
Quando fai una select ottieni una o più righe.

Quindi sostanzialmente dalla query ottieni un array.

Per ottenere una riga devi usare la funzione
$riga = mysqli_fetch_assoc($valorepresente);

Da questa riga puoi accedere al valore di una colonna usando:
$riga["AffittoGennaio"];


Non conosco la struttura della tabella PomeziaCosti, però se questa tabella contiene n valori, con l'update che fai vai a modificare il valore su tutte le righe!

Dovresti usare una clausola WHERE per andare a fare l'update di una riga precisa.

Ps. quando fai l'echo di $valorePresente cosa ti esce fuori?