PDO: insert 3 rows instead of mysql when I insert only one row

I use PDO in my php structure (flight) and I have a funny problem. When I insert 1 row in mysql, I saw 3 rows inserted.

Flight::db()->query("INSERT INTO `menu_item`(`order`, `menu_cat_id`) VALUES (22,1)"); 

This is all my code:

 <?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(); ?> 
+5
source share
1 answer

I find my answer in this post. pdo insert two lines when I want to insert only one

Therefore, when I test in my browser, it sends several requests and every time my code works. What is it.

+5
source

Source: https://habr.com/ru/post/1201538/


All Articles