我将手机号码存储在数据库中,但有些手机号码存储如 954E+11,953E+11。我正在使用数据类型来存储手机号码varchar和20 长度。
2 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
在撰写此答案之后/期间,该问题已更改。之前的上下文是 OP 使用了数字格式。
将电话号码写成数字是没有意义的,因为您没有用它进行数学运算。如果你超过一定范围,你选择的数字类型可以存储,你就会得到那些数学表达式。
而不是将它们存储为文本数据类型,如 varchar(20) - 或您期望的最大数字字符。
要删除任何非数字字符,您可以使用简单的正则表达式清理字符串。
$sanitized = preg_replace('/\D/', '', $phoneNumber);
慕容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);
- 2 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消