例如我在A数据库里面的一张表查询数据,查完之后关闭数据库连接,然后再创建一个新的连接,再在另外一个数据库里面插入内容,这两个操作,有的时候第二个操作成功了,有的时候第二个操作插入的数据丢失了,也就是出现了只插入部分字段的信息,前提是在多人访问页面的情况下。
前台js验证,如果字段没有全部填写完整的话,是不允许进入页面进行数据库的查询操作的,所以可以得出一个结论,就是在数据插入的时候,某个字段的数据丢失了。
我遇到的问题就是在数据表里面查看数据,发现有些字段插入了,有些字段是没有的,但正常情况下,每个字段都是要有值的。
例如我现在有3个字段A,B,C,正常的情况下是这三个字段都有值,(例如,a,b,c),但是不知道什么原因,只有a,c插入了,但是b没插入,而有些记录是3个字段都正常插入,有些就没有这么正常,有大牛知道原因吗?

解决方案 »

  1.   

    在命令行下插入A,B,C,提示什么,检查有无约束、TRIGGER之类的
      

  2.   

    打开数据库binlog   看看具体执行了哪些sql
      

  3.   

    打开你的普通查询日志,跟踪下到底执行了些什么样的SQL语句。 
    由于你是用JS控制,估计是有哪方面的漏洞。
      

  4.   

    查了日志,发现插入的记录之中并没有那个字段的值,也就是说页面输入的东西,在页面处理的时候丢失了,但是有可能是验证突然没效吗?意思是,前面3个字段,要求用户全部输入,结果有的用户并没有全部输入,结果验证的js突然没效了,让用户查询了,可是没道理,我里面有一个php函数,专门对付这些没输入的,也就是双重验证了,可到最后还是没插入
      

  5.   

    感谢各位热心的解答,我已经发现问题了,问题在于前端的js验证并没有发挥全部的作用,有些字段没有很好地帮我验证,导致出现一些数据插入是空白的。做好前端的js验证就行了,要是不放心它的作用,可以在php里面再次正则验证,防止字段信息的丢失。谢谢各位的回答