我想让用户选择在应用程序中输入电话号码我用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);
答案 0 :(得分:0)
尽管包含数字,但电话号码不是数字。这不算数,你不会用它做数学。我绝对认为你应该将它存储为char(或者可能是varchar,请参阅下面的扩展)。试图在数字数据类型中存储非数字可能会有意想不到的后果(例如,如果 - 针对常见惯例 - 用户输入以0开头的电话号码会发生什么?)。某些数据类型可能会引入舍入错误。
您可以进行客户端或服务器端验证,以确保格式符合您希望将其存储在数据库中的方式(例如,555-123-4567
或(555) 123-4567
或{{1} })。就个人而言,我会删除所有格式,例如短划线,空格和括号以进行存储,然后在显示屏上,您可以根据客户端设置,业务目的或最终用户首选项对其进行格式化。
如果您有可能存储来自任何其他国家/地区的分机(5551234567
)或电话号码,您应该使用具有足够字符的varchar来包含所有可能性。我恰好在我的例子中使用了美国电话号码,但是如果英国的某个人想把他们的国际号码放在我的数据库中,我需要为他们更长的号码和国家代码留出足够的字符空间。