1. define(‘DB_HOST’,’localhost’);
  2. define(‘DB_USER’,’url’);
  3. define(‘DB_NAME’,’url’);
  4. define(‘DB_PWD’,’3333333333333333′);
  5. $mysqli=new mysqli(DB_HOST,DB_USER,DB_PWD,DB_NAME,3306);
  6. if(!mysqli_connect_errno()){
  7. echo "数据库数据库连接成功!";       
  8. }
  9. else{
  10.         echo"数据库连接失败 错误原因".mysqli_connect_error();
  11.         exit();
  12. }
  13. $mysqli->query("SET NAMES UTF8");
  14. $mysqli->query("INSERT INTO data(url,dwz,time) VALUES (‘{$url}’,'{$sjc}’,'{$time}’)");
  15. echo "改变的记录数:".$mysqli->affected_rows ."<br/>";
  16. echo "新插入的ID值:" .$mysqli->insert_id ."<br/>";
  17. if(mysqli_close($mysqli)){
  18. echo "数据库关闭成功";       
  19. }

复制代码

刷新一下显示如下

  1. 数据库数据库连接成功!改变的记录数:1
  2. 新插入的ID值:3
  3. 数据库关闭成功

复制代码

结果数据库里是两条记录

【解决】mysql问题 大佬们来看看-LMLPHP

大佬们给看看怎么回事,时间戳都是一样的。
相当于刷新一次插入两条值了

问题是有个伪静态规则在,去掉了OK了,谢谢大家了!
北京网友:dwz 的值不一样,说明是两条不同的数据 同一秒时间插入,如果把时间精度提升到毫秒,应该会看到其实是不同记录
猜测是页面执行了两次,比如刷新快了,或者是某个地方又引用到这个页面了
宁夏网友:原因光看代码看不出来目测
可能跟服务器配置 缓存之类的有关吧

你可以插入前检测下数据是否存在 已存在就做update
内蒙古网友:刷新页面之前刷新数据库里是两条,刷新一下页面,数据库新增两条,随便刷新一次页面都是两条
江西网友:检测不了吧,这些值都是不一样的,ID是自增字段,不可能限制时间戳
山东网友:换个浏览器试试
贵州网友:用命令行执行这个 php 文件试试
辽宁网友:换了google浏览器不行
四川网友:我用宝塔面板的计划任务–访问URL 执行一次这个php页面是正常的,插入一条记录
那这个问题怎么解决呢
台湾网友:有Url重写?
四川网友:有Url重写?
黑龙江网友:看了下 还真有,。。。。
去掉了ok了。。谢谢  
我去 这个问题是真折磨人

01-08 17:04