小编esi*_*sik的帖子

PDO在单个查询中插入两次数据

我对pdo语句有一个可怕的问题.我的类基于Object生成SQL查询,然后将查询和参数转发到Bd类并执行,但数据被插入两次到数据库.

数据库中的表

CREATE TABLE IF NOT EXISTS `es_simple_object` (
    `id_object` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `active` tinyint(1) NOT NULL,

    PRIMARY KEY (`id_object`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

生成的查询

INSERT INTO es_simple_object (es_simple_object.id_object, es_simple_object.active) VALUES (NULL, ?)
Run Code Online (Sandbox Code Playgroud)

生成的params数组

Array
(
    [0] => 1
)
Run Code Online (Sandbox Code Playgroud)

调用Db函数

static::$db = Db::getInstance();    
static::$db->_execute($sql, $params);
Run Code Online (Sandbox Code Playgroud)

Bd Class(只是用于此工作的函数)

    public static function getInstance()
    {
        if (!isset(self::$instance))
            self::$instance = new Db();

        return self::$instance;
    }

    private function __construct()
    {
        $connection = 'mysql:host='.$this->server.'; port='.$this->port.'; dbname='._DB_NAME_.'; charset='._DB_CHARSET_;

        try 
        {
            $this->link = new PDO($connection, …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

6
推荐指数
1
解决办法
877
查看次数

标签 统计

mysql ×1

pdo ×1

php ×1