php Pdo连接数据库插入一条数据出现两条的bug

 和谐啄木鸟 发布于 2022-11-15 08:02

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);
//这样插入一次数据,但是数据库会存在两条数据;

求助,求助!

3 个回答
  • 亲说执行了两遍嘛?首先你这点代码我看不出来啥。 用debug_backtrace函数检查一下,试试,另外连接数据库我们都用 Singleton 单例(单元素)模式实现 来实现的

    2022-11-15 08:18 回答
  • 建议改成PDO预处理参数化查询:

    $sql = "insert into `name` (`age`) values (18)";
    $stmt = $_dbHandle->prepare($sql);
    $stmt->execute();
    echo $stmt->rowCount(); //查询中受影响(改动)的行数,插入失败时为0
    echo $_dbHandle->lastInsertId(); //插入的自增ID,插入失败时为0
    2022-11-15 08:18 回答
  • 这个问题已经找到答案了~原因如下:

    由于nginx的 rewrite问题,在location {}模块中,错误的语法导致项目被重复执行了两次,但是由于是同样的执行操作,我们所有的断点调试都无法检出这个问题;

    2022-11-15 08:18 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有