php Pdo连接数据库插入一条数据出现两条的bug
1,我在使用pdo连接mysql的时候,插入数据但是出现两条一样的数据:
$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);
//这样插入一次数据,但是数据库会存在两条数据;
求助,求助!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个问题已经找到答案了~原因如下:
由于nginx的 rewrite问题,在location {}模块中,错误的语法导致项目被重复执行了两次,但是由于是同样的执行操作,我们所有的断点调试都无法检出这个问题;
建议改成PDO预处理参数化查询:
亲说执行了两遍嘛?首先你这点代码我看不出来啥。 用debug_backtrace函数检查一下,试试,另外连接数据库我们都用 Singleton 单例(单元素)模式实现 来实现的