PHPmyadmin字段类型

时间:2016-07-02 22:17:46

标签: php android mysql

我想让用户选择在应用程序中输入电话号码我用android studio创建但是在phpmyadmin中输入的正确字段类型是什么? E.g varchar,int等

另外在我的PHP代码中,我把它作为字符串,就像我为用户名和密码或其他不同的东西?

$statement = mysqli_prepare($con, "INSERT INTO user (username,password, phone) VALUES (?, ?, ?)");
mysqli_stmt_bind_param($statement, "ss",$username, $password);

1 个答案:

答案 0 :(得分:0)

尽管包含数字,但电话号码不是数字。这不算数,你不会用它做数学。我绝对认为你应该将它存储为char(或者可能是varchar,请参阅下面的扩展)。试图在数字数据类型中存储非数字可能会有意想不到的后果(例如,如果 - 针对常见惯例 - 用户输入以0开头的电话号码会发生什么?)。某些数据类型可能会引入舍入错误。

您可以进行客户端或服务器端验证,以确保格式符合您希望将其存储在数据库中的方式(例如,555-123-4567(555) 123-4567或{{1} })。就个人而言,我会删除所有格式,例如短划线,空格和括号以进行存储,然后在显示屏上,您可以根据客户端设置,业务目的或最终用户首选项对其进行格式化。

如果您有可能存储来自任何其他国家/地区的分机(5551234567)或电话号码,您应该使用具有足够字符的varchar来包含所有可能性。我恰好在我的例子中使用了美国电话号码,但是如果英国的某个人想把他们的国际号码放在我的数据库中,我需要为他们更长的号码和国家代码留出足够的字符空间。

mysql datatype for telephone number and address

进行了一些有趣的讨论(以及不同的意见)