【问题标题】:PHP MySQL insert integer with thousand seperatorPHP MySQL插入带有千位分隔符的整数
【发布时间】:2014-11-18 08:57:21
【问题描述】:

我有一个 PHP 代码,可以将带有千位分隔符的整数插入数据库。但是,它无法保存整个整数.. Exp: 10,234,234

我的代码:

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

如何修改它以存储整数 -> 10,234,234 谢谢

【问题讨论】:

    标签: php mysql database int


    【解决方案1】:

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

    如果您真的希望插入该图形,或者,您可以这样做:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        你可以使用number_format():

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

        结果:

        2,000
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多