2014-09-24 1 views
1

У меня есть PHP-код, который будет вставлять целые числа с разделителем тысяч в базу данных. Тем не менее, он не смог сохранить целое число. Exp: 10,234,234 < - Будет отображаться только в 10 в базе данных. - Появляются как 5PHP MySQL вставляет целое число с тысячей seperator

Мой код:

<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 Благодарности

ответ

2

Если тип данных в вашем столбце равен INT, то независимо от того, что вы попробуете, он всегда будет усечен.

Если вы действительно хотите, что эта цифра будет установлена, в качестве альтернативы, вы можете сделать это следующим образом:

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

Sidenote: Кстати, попробуйте перейти к улучшению расширения, которая mysqli_* или PDO и использовать подготовленные заявления.

1

Целые не могут иметь точек или запятые. Вы должны сохранить его без них.