情况有点复杂,我有一个B/S的开票软件,环境是phpnow(Apache-2.0PHP-5.1MySQL-5.0),然后只要网络一卡,就会出现insert数据丢失插不进去数据库的问题,无法保存开票数据,前端页面也没有错误提示,直接跳到打印页面。我检查了insert语句,是正常的,因为平时软件运行都正常,就是网络卡,比较堵的时候很容易出现这个问题,查看日志也没看出啥问题。分析是不是phpnow不适合做生产环境?请高手指点!再一个,之前做asp,但凡有一点错误,前端的页面都会显示,但是现在即使插入失败,前端的页面也照样跳转,不会显示出错。有没有办法能让我看到插入失败的信息也是好的。我才开始自学PHP,请大家指教!

解决方案 »

  1.   

    本帖最后由 PhpNewnew 于 2013-11-10 22:15:32 编辑
      

  2.   


    非常感谢您的解答!想请教。对于POST丢失,除了更换服务器或者线路,有没有别的办法,比如,能终止当前页面并跳转到出错提示,再一个,我以前用ASP+MSSQL也没有出现过POST丢失,为何PHP+MySQL会出现呢?
      

  3.   

    贴出你的insert into 代码,执行失败返回一个错误即可。
      

  4.   


    我想了一个变通的办法,每次执行insert之后,我再select一下这条记录,如果找不到,说明没有被保存,insert失败,如果能够select到,那就说明保存成功。
      

  5.   


    我想了一个变通的办法,每次执行insert之后,我再select一下这条记录,如果找不到,说明没有被保存,insert失败,如果能够select到,那就说明保存成功。
    这个也可以,我估计是insert的那条语句被@屏蔽了错误。
      

  6.   


    我想了一个变通的办法,每次执行insert之后,我再select一下这条记录,如果找不到,说明没有被保存,insert失败,如果能够select到,那就说明保存成功。
    当你操作insert的时候,返回主键,判断下即可,不需要再次查询insert成功后的记录。
      

  7.   

    mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数