【发布时间】:2016-11-05 00:24:24
【问题描述】:
我想让用户选择在我使用 android studio 创建的应用程序中输入电话号码,但是在 phpmyadmin 上输入的正确字段类型是什么?例如 varchar、int 等。
在我的 php 代码中,我是否像我为用户名和密码或其他不同的东西一样将它作为字符串?
$statement = mysqli_prepare($con, "INSERT INTO user (username,password, phone) VALUES (?, ?, ?)");
mysqli_stmt_bind_param($statement, "ss",$username, $password);
【问题讨论】:
-
取决于电话号码格式。如果您使用纯数字,例如
0123456然后你可以使用int否则如果你使用像0-123-456这样的格式,则需要varchar等。 -
我想放纯数字,但如果用户不放纯数字怎么办?
-
您将需要使用一些 javascript 来进行一些客户端验证,以阻止它们使用除数字之外的任何内容。否则,bind_param 将无法将非 int 变量绑定到 int 引用(当您将
'i'放入 bindparm 时) -
有没有办法可以使用任何一种格式?
-
使用字符串,如果用户只使用数字或者你可以强制 int->string 转换是安全的/开始抛出错误,php 将足够聪明地在以后更改类型:) 但是明智的做法是强制使用一种通用格式,以便以后无论出于何种原因需要进行处理。