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

在尝试使用Unity的InputField(TM)组件与Web网站进行信息交互时,遇到数据库插入错误。问题源于用户输入的数据末尾存在不可见的空白字符,导致MySQL无法将数据正确转换为int类型。解决办法是检查并去除输入数据中的额外空白。此问题在Text组件中不会出现。
摘要由CSDN通过智能技术生成

最近在练习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类型则不会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值