为了账号安全,请及时绑定邮箱和手机立即绑定

我将手机号码存储在数据库中,但有些手机号码存储如 954E+11,953E+11

我将手机号码存储在数据库中,但有些手机号码存储如 954E+11,953E+11

PHP
慕田峪9158850 2022-06-17 10:01:56
我将手机号码存储在数据库中,但有些手机号码存储如 954E+11,953E+11。我正在使用数据类型来存储手机号码varchar和20 长度。
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

在撰写此答案之后/期间,该问题已更改。之前的上下文是 OP 使用了数字格式。

将电话号码写成数字是没有意义的,因为您没有用它进行数学运算。如果你超过一定范围,你选择的数字类型可以存储,你就会得到那些数学表达式

而不是将它们存储为文本数据类型,如 varchar(20) - 或您期望的最大数字字符。

要删除任何非数字字符,您可以使用简单的正则表达式清理字符串。

$sanitized = preg_replace('/\D/', '', $phoneNumber);


查看完整回答
反对 回复 2022-06-17
?
慕容3067478

TA贡献1773条经验 获得超3个赞

电话号码不是数学数字。您不能使用数值数据类型来存储它们。你应该使用varchar(255).

在 PHP 中检索它时,您也必须将其视为字符串。不要对其进行任何数学运算。

如果使用 MySQLi,则必须将参数绑定在bind_param()as strings(s) 中。例如

$stmt = $mysqli->prepare ('INSERT INTO phonenumbers(ph_no) VALUES (?)');
$stmt-> bind_param('s', $yourphonenumber);


查看完整回答
反对 回复 2022-06-17
  • 2 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信