PHP MySQL插入整数千位分隔符

时间:2014-09-24 01:35:56

标签: php mysql database int

我有一个PHP代码,它会将带有千位分隔符的整数插入到数据库中。但是,它无法保存整个整数.. Exp:10,234,234< - 只会在数据库中显示为10。      5,434< - 出现为5

我的代码:

 <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>

如何修改它以便存储整数 - &gt; 10234234 感谢

3 个答案:

答案 0 :(得分:2)

如果您的列中的数据类型为INT,那么无论您尝试什么,它都将被截断。

如果你真的想要插入这个数字,或者你可以这样做:

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

旁注:顺便说一句,尝试迁移到改进的扩展名mysqli_*PDO并使用预准备语句。

答案 1 :(得分:1)

整数不能有点或逗号。你必须在没有它们的情况下保存它。

答案 2 :(得分:0)

您可以使用number_format()

$num = 1999.9;
$formattedNum = number_format($num)."<br>";
echo $formattedNum;

结果:

2,000