-4
「我試圖建立一個腳本,讓我從MySQL數據庫的jsonarray插入多行,但在測試時只有一個行被插入這裏是我的代碼:使用php在json字符串/數組中插入多行mysql?
<?php
$con = mysqli_connect($host,$user,$password,$database) or die('Unable to Connect');
if($_SERVER["REQUEST_METHOD"]=="POST")
{
$jsonData=file_get_contents("sampledata.json");
$jsonString=json_decode($jsonData,true);
foreach($jsonString['Order Summary'] as $cart)
{
$name=$cart['ProductName'];
$price=$cart['ProductPrice'];
$quantity=$cart['ProductQuantity'];
$cost=$cart['ProductCost'];
$seller=$cart['SellerId'];
$stmt=$con->prepare("INSERT INTO sProducts(Name,Price,Quantity,Cost,Sellerid)VALUES(?,?,?,?,?)");
$stmt->bind_param("sssss",$name,$price,$quantity,$cost,$seller);
if($stmt->execute())
return json_encode("data inserted");
return json_encode("error");
}
}
誰能告訴我?哪裏是錯誤的,或者可以引導我進入這個方向
爲什麼不一步一步地調試它? –
'return ...'?你的代碼是否在任何函數中? –
當您返回時,腳本停止。所以,它只會插入第一行。然後,在開始循環之前,您無需爲每次迭代準備查詢 - 準備一次。 – Qirel