У меня есть код PHP, который будет вставлять целые числа с разделителем тысяч в базу данных. Тем не менее, он не мог сохранить все целое число ..
Exp: 10 234 234 <- Будет отображаться только как 10 в базе данных.
5434 <- появляются как 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>
Как мне изменить его так, чтобы он сохранял все число -> 10 234 234
Спасибо
Если тип данных в вашем столбце 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
и использовать подготовленные заявления.
Целые числа не могут иметь точек или запятых. Вы должны сохранить его без них.