mysql做数据库有必要用php限制字符串长度吗?
mysql用的$stmt语句,所有转义不用担心,但是长度有必要在后台经过php检测后再放到mysql语句中吗..?测试发现超过长度mysql似乎会自己返回错误.考虑到效率...
mysql用的$stmt语句,所有转义不用担心,但是长度有必要在后台经过php检测后再放到mysql语句中吗..?测试发现超过长度mysql似乎会自己返回错误.考虑到效率所以如果php不用检测的话就不检测。但是又怕出问题,请教下老鸟们一般怎么处理.
展开
3个回答
展开全部
不需要,存入数据库的都是用户输入进去的,最好在数据库里保持完整的数据。如果你担心读取数据时在页面显溢出的话,再显示的时候截取呗
追问
大概明白了了,还是再问清楚点好,比如mysql我有一个字段设置为char,长度30,也就是用户名不应该超过30个字,前台js截取30,但是对于那些绕过表单,伪造表单的传40个过来,虽然mysql会返回一个错误吧。但是这之前有必要用php加一层长度检查不,也就是说不管伪不伪造表单,在mysql取得数据的时候字符串的长度都是在30以内?
追答
嗯,这些需要前台表单提交的时候在onsubmit函数中校验,如果大于30就不给表单提交,提示用户修改字数;最好的当然也是在php端也判断下长度,这就是BS架构两端都校验,浏览器端校验为了的是用户体验度,你不能让用户提交一次二次都不成功,那样很烦;php判断就是为了安全性了。
展开全部
如果数据有长度限制,前台验证还是必要的,这样可以减轻你数据库的负担.
前台验证一般用js,这样就把不合要求的数据拦截在了客户端,因为没有必要提交到服务端嘛.等数据库自己报错,消耗资源会更多.你觉得呢?
毕竟,相比之下,更消耗资源的是数据传输和数据库的操作,而不是js验证
前台验证一般用js,这样就把不合要求的数据拦截在了客户端,因为没有必要提交到服务端嘛.等数据库自己报错,消耗资源会更多.你觉得呢?
毕竟,相比之下,更消耗资源的是数据传输和数据库的操作,而不是js验证
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先你要了解什么是数据库,数据库只是存放数据的地方,一切的判断和运算能不再数据库中就不再数据库中操作,判断字符串的长度这么基础当然用php完成了(用js当然也可以),还有就是你要搞清楚一个字符串占几个字符,gbk下的一个汉字占2个字符,utf8下的一个汉字占三个字符,所以你数据库给长度的时候要注意,还有就是建议你往数据库中添加数据的时候最好先进行转码,将字符的编码转成gbk的存进去,拿出来在转化成utf8的用以兼容,这样能减少数据库的压力和空间,这是我的一点经验
最后你一定要记住,以后编程也要记住,数据库只是一个存储数据的地方,能不用数据库运算的千万别用
最后你一定要记住,以后编程也要记住,数据库只是一个存储数据的地方,能不用数据库运算的千万别用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |