Я хочу вставить новые записи из файла Json в базу данных или обновить существующую новыми значениями. У меня есть таблица MySQL (tbl_sales), где id
равно primarykey
:
+-----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+-------+
| sale_item | varchar(20) | NO | | NULL | |
| sale_qty | int(11) | NO | | NULL | |
| row_inserted_on | datetime | NO | | NULL | |
| last_edited_on | datetime | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | |
+-----------------+-------------+------+-----+---------+-------+
У меня есть данные в файле JSon, которые можно вставить или обновить в этой таблице с помощью php
php код:
<?php
$connect = mysqli_connect("localhost", "root", "", "mytest");
$query = '';
$table_data = '';
$filename = "path.json";
$data = file_get_contents($filename);
$array = json_decode($data, true);
foreach($array as $row)
{
$query = "INSERT INTO tbl_sales(sale_item, sale_qty, row_inserted_on, last_edited_on, id) VALUES ('".$row["sale_item"]."', '".$row["sale_qty"]."', '".$row["row_inserted_on"]."', '".$row["last_edited_on"]."', '".$row["id"]."'); ON DUPLICATE KEY UPDATE sale_item=VALUES('".$row["sale_item"]."'), sale_qty=VALUES('".$row["sale_qty"]."'), row_inserted_on=VALUES('".$row["row_inserted_on"]."'), last_edited_on=VALUES('".$row["last_edited_on"]."')";
mysqli_multi_query($connect, $query);
}
echo "<h1>All data appeded </h1>";
?>
Файл Json:
[
{
"sale_item":"Sugar",
"sale_qty":"3",
"row_inserted_on":"2018-05-06 05:25:30",
"last_edited_on":"2018-05-09 05:26:26",
"id":"0"
},
{
"sale_item":"Doll",
"sale_qty":"300",
"row_inserted_on":"2018-05-08 07:32:12",
"last_edited_on":"2018-05-10 06:29:18",
"id":"1"
},
{
"sale_item":"Chocolate",
"sale_qty":"4",
"row_inserted_on":"2018-05-09 11:31:19",
"last_edited_on":"2018-05-09 11:31:19",
"id":"2"
},
{
"sale_item":"Biscuit",
"sale_qty":"5",
"row_inserted_on":"2018-05-10 10:17:10",
"last_edited_on":"2018-05-10 10:17:10",
"id":"3"}
]
Проблема в , когда я запускаю php-файл, он не вставляет и не обновляет все данные в файле JSon одновременно. Каждая запись из файла JSon вставляется в базу данных при каждом запуске.