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);
//这样插入一次数据,但是数据库会存在两条数据;
求助,求助!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这个问题已经找到答案了~原因如下:
由于nginx的 rewrite问题,在location {}模块中,错误的语法导致项目被重复执行了两次,但是由于是同样的执行操作,我们所有的断点调试都无法检出这个问题;
建议改成PDO预处理参数化查询:
亲说执行了两遍嘛?首先你这点代码我看不出来啥。 用debug_backtrace函数检查一下,试试,另外连接数据库我们都用 Singleton 单例(单元素)模式实现 来实现的