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

    Problema inserimento risultato somma su db mysql

    Salve,
    chiedo aiuto su un problema che non riesco a risolvere.
    In pratica ho un codice php che inserisce in un db mysql alcuni dati proveniente da un form, di alcuni dati faccio una somma che a sua volta viene inviata al db, il problema è che se la somma ha come risultato un numero da 1 a 9 va tutto bene altrimenti se il risultato è da 10 a salire su db mi viene scritta solo la prima cifra del risultato.

    Come potete vedere qui sotto c'è anche un
    Codice PHP:
    echo "$som_val"
    che mi restituisce il valore senza nessun problema, ma perche sul db scrive solo la prima cifra?.

    Codice PHP:
    <?php
    include("template/top.php");
    $commenti mysql_escape_string($_POST['commenti']);
    $som_val mysql_escape_string($_POST['valuto1'] + $_POST['valuto2'] + $_POST['valuto3']);
    echo 
    "$som_val";
    if (
    trim($commenti)=="") { print "Tutti i campi del form sono obbligatori...Torna <a href='javascript:history.back()'>indietro</a> e inserisci il tuo Comento!! Grazie!!"; }         //Connessione al DB                include("db.php");                //Inserimento dati nel DB                $sql = "INSERT INTO valutazione         (codice_ut,nick,forum1,imballaggio,velocita,comunicazione,rating,commenti,data)        VALUES('".        mysql_escape_string($_POST['codice_ut'])."','".        mysql_escape_string($_POST['nick'])."','".        mysql_escape_string($_POST['forum1'])."','".        mysql_escape_string($_POST['valuto1'])."','".        mysql_escape_string($_POST['valuto2'])."','".        mysql_escape_string($_POST['valuto3'])."','".        mysql_escape_string($som_val['rating'])."','".        mysql_escape_string($_POST['commenti'])."','".        date("Y-m-d G:i:s")."');";                if (!mysql_query($sql, $db))
            
    {        echo ("<center><h1>Attenzione i dati non sono stati inseriti!!!</h1></center>");        }        else        {        echo ("<center><h1>Grazie, i dati sono stati inseriti correttamente! Torna <a href='javascript:history.back()'> indietro</a></h1></h2></center>");        }                include("template/bottom.php");
    ?>
    Grazie anticipatamente
    Saluti

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Controlla la lunghezza massima del campo nel db
    No

  3. #3
    Già fatto ho provato a cambiarla al momento è int 2 anche perchè non va sopra il numero 15 la somma, ho provato a fala in varchar e altro ma niente sempre uguale.

  4. #4
    Perdonami, ma $som_val è un intero o un array?!

    Codice PHP:
    ...
    ... 
    mysql_escape_string($som_val['rating'])...
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    $som_val è un campo integer.. visto che è il risultato di una somma.. perchè mai fai questa cosa: mysql_escape_string($som_val['rating']) ?

  6. #6
    Ecco allora il problema dove sta, ci capisco poco di php come dovrei scriverla?

  7. #7
    Ho trovato la soluzione sembra funzionare sostituendo mysql_escape_string($som_val['rating']) con $som_val."','".

    Cavolo era una cavolata.

    Grazie a tutti se non mi evidenziavate quella riga chi sa quanto ci sbattevo ancora senza trovare soluzione.


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.