PHP는 PDO를 사용하여 SQL 데이터베이스를 업데이트하고 warehouse_id의 임의 번호가 phpmyadmin 인 마지막 쿼리 만 업데이트합니다. 스크립트가 실행될 때 PHP Foreach SQL, 이중 키 업데이트를 마지막 쿼리 만 삽입하면됩니다.
페이지에 표시
(WarehouseID WarehouseCode)3.5284454726114E+18 Demo
3.5284455793003E+18 Temp Rework
3.5950682694297E+18 TL-Shipments
3.5897270029153E+18 TL-Supplier
3.4684900596836E+18 WH1
5 warehouses updated.
단 하나
function updateWarehouses(){
global $tvHost, $handler, $apiRequestCall, $sqlError;
$apiUpdateWarehouses = apiRequestCall("GET", $tvHost, "Product?pageNumber=1");
$updates = 0;
foreach($apiUpdateWarehouses['List'] as $c){
foreach($c['PerWarehouseInventory'] as $i) {
try {
$sql = $handler->prepare("INSERT INTO tv_warehouse (warehouse_id, code) VALUES (:warehouse_id, :code) ON DUPLICATE KEY UPDATE warehouse_id=:warehouse_id, code=:code");
echo "<br>".$i['WarehouseID']." ".$i['WarehouseCode'];
$sql->execute([
':warehouse_id' => $i['WarehouseID'],
':code' => $i['WarehouseCode']]
);
$updates++;
}
catch(Exception $er) {
sqlError($er, $table);
die();
}
}
}
echo "<br>".$updates." warehouses updated.";
}
난 당신이 에코 문을 볼 수없는 입력되는 변수를 인쇄했다 입력 된 것은 warehouse_id = 2147483647이고 warehouse_code = WH1
WH1은 정확하지만 2147483647은 어디에서 왔습니까? 나머지는 왜 입력되지 않습니까?
표 형식 :
-- -----------------------------------------------------
-- Table `Data`.`tv_warehouse`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Data`.`tv_warehouse` (
`code` VARCHAR(45) NOT NULL,
`warehouse_id` INT(30) NOT NULL,
PRIMARY KEY (`warehouse_id`))
ENGINE = InnoDB;
JSON :
이{
"List": [
{
"PerWarehouseInventory": [
{
"WarehouseID": 3528445472611403000,
"WarehouseCode": "Demo",
},
{
"WarehouseID": 3528445579300286000,
"WarehouseCode": "Temp Rework",
},
{
"WarehouseID": 3595068269429729300,
"WarehouseCode": "TL-Shipments",
},
{
"WarehouseID": 3589727002915314000,
"WarehouseCode": "TL-Supplier",
},
{
"WarehouseID": 3468490059683634700,
"WarehouseCode": "WH1",
}
]
}
]
}
이유는이를하고있는에 어떤 도움이 내가 사용하고 좋은 것 "json_decode ($ true로 데이터);"
도움이 될 경우
고맙습니다.
감사합니다,하지만 네 그 일 : 여기
는 링크입니다. –