Unity TMP_Text文本获取字符插入到MySQL导致语句报错

最近在练习unity与web网站信息交互,遇到了一个十分麻烦的问题折腾了好久。最后发现这个易错点!

当我从InputField (TMP)组件中获取到数据并插入到数据库中时,一直报这个错:

Data truncated for column 'score' at row 1

同时Debug也提示我语句出错!如下:

SQL ERROR :insert into hiscores value(NULL,'绘画​','960​')

疑惑就在这里!这个sql语句本身没有问题,但是输入的数据mysql就是识别不了!

甚至你复制到命令终端输入也会报错!但是!重新在终端手打一遍又可以执行!

原因是“绘画”和“960”是我从InputField (TMP)中文本框输入的数据字符会在末尾自动添加几个空白字符!虽然打印看不出来!

 我们把Debug出来的sql语句复制到QQ聊天输入框就会发现“960”后面还有几个空格似乎!改成老版Text则不会有这个问题。

因此mysql无法识别并转换成int类型插入到数据库中!导致错误!如果是数据表对应属性是varchar类型则不会报错。

猜你喜欢

转载自blog.csdn.net/qq_50906930/article/details/125508035