- define(‘DB_HOST’,’localhost’);
- define(‘DB_USER’,’url’);
- define(‘DB_NAME’,’url’);
- define(‘DB_PWD’,’3333333333333333′);
- $mysqli=new mysqli(DB_HOST,DB_USER,DB_PWD,DB_NAME,3306);
- if(!mysqli_connect_errno()){
- echo "数据库数据库连接成功!";
- }
- else{
- echo"数据库连接失败 错误原因".mysqli_connect_error();
- exit();
- }
- $mysqli->query("SET NAMES UTF8");
- $mysqli->query("INSERT INTO data(url,dwz,time) VALUES (‘{$url}’,'{$sjc}’,'{$time}’)");
- echo "改变的记录数:".$mysqli->affected_rows ."<br/>";
- echo "新插入的ID值:" .$mysqli->insert_id ."<br/>";
- if(mysqli_close($mysqli)){
- echo "数据库关闭成功";
- }
复制代码
刷新一下显示如下
- 数据库数据库连接成功!改变的记录数:1
- 新插入的ID值:3
- 数据库关闭成功
复制代码
结果数据库里是两条记录
大佬们给看看怎么回事,时间戳都是一样的。
相当于刷新一次插入两条值了
问题是有个伪静态规则在,去掉了OK了,谢谢大家了!
北京网友:dwz 的值不一样,说明是两条不同的数据 同一秒时间插入,如果把时间精度提升到毫秒,应该会看到其实是不同记录
猜测是页面执行了两次,比如刷新快了,或者是某个地方又引用到这个页面了
宁夏网友:原因光看代码看不出来目测
可能跟服务器配置 缓存之类的有关吧
你可以插入前检测下数据是否存在 已存在就做update
内蒙古网友:刷新页面之前刷新数据库里是两条,刷新一下页面,数据库新增两条,随便刷新一次页面都是两条
江西网友:检测不了吧,这些值都是不一样的,ID是自增字段,不可能限制时间戳
山东网友:换个浏览器试试
贵州网友:用命令行执行这个 php 文件试试
辽宁网友:换了google浏览器不行
四川网友:我用宝塔面板的计划任务–访问URL 执行一次这个php页面是正常的,插入一条记录
那这个问题怎么解决呢
台湾网友:有Url重写?
四川网友:有Url重写?
黑龙江网友:看了下 还真有,。。。。
去掉了ok了。。谢谢
我去 这个问题是真折磨人