时间:2021-07-01 10:21:17 帮助过:74人阅读
$dsn = sprintf("mysql:host=%s;dbname=%s;charset=utf8", $host, $dbName);$_dbHandle = new PDO($dsn, $user, $password, $option); $sql = "insert into `name` (`age`) values (18)";
$_dbHandle->exec($sql);
非常简单的sql插入,但是每次执行的时候会出现两条一模一样的数据, 在我的环境下就出现问题,在别人的环境里就没有问题,于是我怀疑是环境问题。 页面刷新的时候根本看不出重复刷新的样子,但实际上真的执行了两条,只是看不出来。 因为我当时在编写rewrite规则,nginx没有给我报任何问题,但是我只操作了这里,所以认定是rewrite的问题。 具体原因如下: 由于nginx的重写问题(rewrite)的时候,在location的模块中,错误的语法,导致了项目被重复执行了两次,因为是nginx的重写跳转问题, 在nginx层面就进行跳转了,还不等响应数据,就已经跳转了,所以我们在断点调试的时候无法检验出这个问题。 如果遇到同样的场景,可以根据实际情况尝试把rewrite文件删除,或者修改来测试是否为nginx的问题。注:apache没有测过,但是也有可能也会有类似的情况。
以上就是PHP PDO插入一条数据,重复出现两条的情况的解决办法的详细内容,更多请关注Gxl网其它相关文章!