Как решить проблему, если PHP вставка API работает успешно, но в MySQL не вставляются данные? - PullRequest
1 голос
/ 19 апреля 2019

У меня есть PHP API для вставки данных, которые я тестирую на Почтальоне. Когда я запускаю этот API, он дает мне сообщение об успехе на Postman, но Данные не вставляются в mysql DB. Я изучил все похожие / повторяющиеся вопросы , но некоторые из них пропустили запятую или у некоторых был столбец NOT NULL в БД, но у меня нет такого случая, и все же мои данные не вставляется. пожалуйста, помогите мне!

здесь part_order_details.php:

<?php

header("Access-Control-Allow-Origin: http://localhost/Auth/");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Allow-Origin: *");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");


include_once '../config/database.php';
include_once '../objects/order.php';

$database = new Database();
$db = $database->getConnection();

$order = new Order($db);

$a = file_get_contents("php://input");
$data = json_decode($a, true);

if($order->orderDetails($data)){

    http_response_code(200);
    echo json_encode(array("message" => "All rows of Order Details are inserted successfully" ));
}
else{

    http_response_code(400);
    echo json_encode(array("message" => "Sorry! Error while inserting rows of order details"));
}
?>

и order.php:

<?php
class Order{
    private $conn;
    public $SparePartID;
    public $OrderID;
    public $Price;
    public $Quantity;
    public $qty;

    public function __construct($db){
        $this->conn = $db;
    }

    function orderDetails($arr)
    {
       $query=  "INSERT INTO sparepartorderdetails (SparePartID, OrderID, Quantity, Price) VALUES  (:SparePartID, :OrderID, :qty, :Price) ";
        $stmt = $this->conn->prepare($query);

        foreach($arr as $item)
        {
            $stmt->bindValue(':SparePartID', $item['SparePartID']);
            $stmt->bindValue(':qty', $item['qty']);
            $stmt->bindValue(':Price', $item['Price']);
            $stmt->bindValue(':OrderID', $item['OrderID']);

            $stmt->execute();
             return true;
        }
    }
}

И я отправляю данные на Почтальон , как показано ниже, и получаю успех ответ.

{
"0":
{"SparePartID": "36",
"qty": "888",
"Price": "88",
"OrderID": "46"
},

"1":
{"SparePartID": "35",
"qty": "99",
"Price": "0909",
"OrderID": "46"
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...