Php PDO:当我只插入1行时,在mysql中插入3行

Php PDO:当我只插入1行时,在mysql中插入3行,php,pdo,flightphp,Php,Pdo,Flightphp,我在php框架(flight)中使用PDO,我遇到了一个可笑的问题。 当我在mysql中插入1行时,我看到插入了3行 Flight::db()->query("INSERT INTO `menu_item`(`order`, `menu_cat_id`) VALUES (22,1)"); 这是我的全部代码: <?php require 'flight/Flight.php'; Flight::register('db', 'PDO', array('mysql:host=loca

我在php框架(flight)中使用PDO,我遇到了一个可笑的问题。 当我在mysql中插入1行时,我看到插入了3行

Flight::db()->query("INSERT INTO `menu_item`(`order`, `menu_cat_id`) VALUES (22,1)");
这是我的全部代码:

<?php
require 'flight/Flight.php';

Flight::register('db', 'PDO', array('mysql:host=localhost;port=3306;dbname=deliman', 'root', ''), function($db) {
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
        $db->exec("SET NAMES 'utf8';");
        $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0);
});

Flight::route('/menu/item/new', function(){
        //$conn = Flight::db();
        $data = Flight::db()->query("INSERT INTO `menu_item`(`order`, `menu_cat_id`) VALUES (22,1)");

        //SET @maxOrder := (SELECT `order` FROM `menu_item` WHERE `menu_cat_id` = 1 ORDER BY `order` DESC LIMIT 1) +1 ;
        //SELECT LAST_INSERT_ID() AS id;
        echo 'a';
    });


Flight::start();
?>

我在这篇文章中找到了我的答案。


因此,当我在浏览器中测试时,每次代码运行时,它都会发送多个请求。就是这样。

我们需要看看
查询
方法。你是在使用循环还是调用同一个方法3次?这是php中的一个常规PDO查询方法,框架使用它。不,我的代码中没有任何循环。