PHP MySQL inserts the integer with a thousand separator

advertisements

I have a PHP code that will insert integer numbers with thousand separator into the database. However, it could not save the whole integer.. Exp: 10,234,234 <-- Will only appear as 10 in the database. 5,434 <- Appear as 5

My code:

 <html>
<body>

<?php
session_start();
$date =  $_SESSION['storeDate'];
$a = $_SESSION['storeA'];
$l = $_SESSION['storeL'];
$p = $_SESSION['storeP'];
$m = $_SESSION['storeM'];

$con = mysql_connect("localhost","root","password");
if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

    mysql_select_db("productno", $con);

    $sql="INSERT INTO records (Date, A, L, P, M)
    VALUES
    ('$date', '$a', '$l', '$p', '$m')"; 

    if (!mysql_query($sql,$con))
    {
        echo ("<SCRIPT LANGUAGE='JavaScript'>
        window.alert('Save Failed.')
        window.location.href='main.php'
        </SCRIPT>");
    }else{
       echo ("<SCRIPT LANGUAGE='JavaScript'>
        window.alert('Record Added.')
        window.location.href='main.php'
        </SCRIPT>");
 }

?>

</body>
</html>

How do I modify it so that it will store the whole number -> 10,234,234 Thanks


If the data type in your column is INT, then no matter what you try, it will always be truncated.

If you really want that figure to be inserted, alternatively, you could do it like this:

$number = '10,234,234';
$number = filter_var($number, FILTER_SANITIZE_NUMBER_INT); // becomes 10234234
// insert code the rest of the way

Sidenote: By the way, try to migrate to the improved extension which is mysqli_* or PDO and utilize prepared statements.