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

我将手机号码存储在数据库中,但有些手机号码存储如 954E+11,953E+11。我正在使用数据类型来存储手机号码varchar20 长度。


http://img3.mukewang.com/62abe0a70001acc401090171.jpg

慕田峪9158850
浏览 100回答 2
2回答

犯罪嫌疑人X

在撰写此答案之后/期间,该问题已更改。之前的上下文是 OP 使用了数字格式。将电话号码写成数字是没有意义的,因为您没有用它进行数学运算。如果你超过一定范围,你选择的数字类型可以存储,你就会得到那些数学表达式。而不是将它们存储为文本数据类型,如 varchar(20) - 或您期望的最大数字字符。要删除任何非数字字符,您可以使用简单的正则表达式清理字符串。$sanitized = preg_replace('/\D/', '', $phoneNumber);

慕容3067478

电话号码不是数学数字。您不能使用数值数据类型来存储它们。你应该使用varchar(255).在 PHP 中检索它时,您也必须将其视为字符串。不要对其进行任何数学运算。如果使用 MySQLi,则必须将参数绑定在bind_param()as strings(s) 中。例如$stmt = $mysqli->prepare ('INSERT INTO phonenumbers(ph_no) VALUES (?)'); $stmt-> bind_param('s', $yourphonenumber);
打开App,查看更多内容
随时随地看视频慕课网APP