当我使用 android retrofit2 post(发送)uuid 到服务器时,我得到不同的数字
I am getting different number when I post (send) uuid to the server using android retrofit2
当我使用 post 发送带有 android 改造的 UUID 并将其存储到 MySQL 数据库时,我得到了不同的值,它被缩短并转换为数字。
当我在 PHP 中收到 UUID 或将其存储到 MySQL 数据库 table 时,我需要做些什么吗?
这是在我的 android 应用程序中生成的 UUID:
7cbb95ec-2de6-42a4-bd54-5a18b392ca03
当它存储到用户table中时,它变成这样的数字:
795-26-424-54-51839203
有人可以解释为什么会发生这种情况以及如何解决吗?
Api 界面
@FormUrlEncoded
@POST("insertdata.php")
Call<ResponseBody>insertdata(
@Field("userid")String userid,
@Field("articleid")int articleid);
Php insertdata.php
if (isset($_POST['userid'])) {
$userid = filter_input(INPUT_POST, 'userid', FILTER_SANITIZE_NUMBER_INT);
} else {
die();
}
这不是一个数值,所以不要按原样过滤。您正在删除 non-numerical 个字符。不要filter_input
,别管它。
对于 SQL 注入问题,一如既往,使用带有占位符值的预准备语句。
当我使用 post 发送带有 android 改造的 UUID 并将其存储到 MySQL 数据库时,我得到了不同的值,它被缩短并转换为数字。 当我在 PHP 中收到 UUID 或将其存储到 MySQL 数据库 table 时,我需要做些什么吗?
这是在我的 android 应用程序中生成的 UUID:
7cbb95ec-2de6-42a4-bd54-5a18b392ca03
当它存储到用户table中时,它变成这样的数字:
795-26-424-54-51839203
有人可以解释为什么会发生这种情况以及如何解决吗?
Api 界面
@FormUrlEncoded
@POST("insertdata.php")
Call<ResponseBody>insertdata(
@Field("userid")String userid,
@Field("articleid")int articleid);
Php insertdata.php
if (isset($_POST['userid'])) {
$userid = filter_input(INPUT_POST, 'userid', FILTER_SANITIZE_NUMBER_INT);
} else {
die();
}
这不是一个数值,所以不要按原样过滤。您正在删除 non-numerical 个字符。不要filter_input
,别管它。
对于 SQL 注入问题,一如既往,使用带有占位符值的预准备语句。