Maison  >  Article  >  développement back-end  >  PHP PDO insère un élément de données et la solution à la situation où deux éléments de données apparaissent à plusieurs reprises

PHP PDO insère un élément de données et la solution à la situation où deux éléments de données apparaissent à plusieurs reprises

不言
不言original
2018-04-24 10:18:382890parcourir

Le contenu de cet article est la solution à la situation où PHP PDO insère une donnée et deux données apparaissent à plusieurs reprises. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer. 🎜>

$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-><span class="hljs-keyword" style="color:rgb(51,51,51);font-weight:bold;">exec</span>($sql);

非常简单的sql插入,但是每次执行的时候会出现两条一模一样的数据,
在我的环境下就出现问题,在别人的环境里就没有问题,于是我怀疑是环境问题。
页面刷新的时候根本看不出重复刷新的样子,但实际上真的执行了两条,只是看不出来。
因为我当时在编写rewrite规则,nginx没有给我报任何问题,但是我只操作了这里,所以认定是rewrite的问题。
具体原因如下:
由于nginx的重写问题(rewrite)的时候,在location的模块中,错误的语法,导致了项目被重复执行了两次,因为是nginx的重写跳转问题,
在nginx层面就进行跳转了,还不等响应数据,就已经跳转了,所以我们在断点调试的时候无法检验出这个问题。
如果遇到同样的场景,可以根据实际情况尝试把rewrite文件删除,或者修改来测试是否为nginx的问题。注:apache没有测过,但是也有可能也会有类似的情况。
                                  

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn