使用php将json数据插入json数据类型的mysql数据库

0x6upsns  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(473)

我有表单数据从unity3d wwwform传入我的php文件。我用json文件类型创建了一个列,现在我想将该字符串存储在数据库中。我还希望id字段是数组其余部分的数组的键。

include('dbconfig.php');

$id= $_POST['ID'];
$servicedate=$_POST['ServiceDate'];
$servicelocation=$_POST['ServiceLocation'];
$mileage=$_POST['Mileage'];
$labor=$_POST['Labor'];
$oilbrand=$_POST['OilBrand'];
$oilprice=$_POST['OilPrice'];
$filterbrand=$_POST['FilterBrand'];
$filterprice=$_POST['FilterPrice'];
$oilfilterpurchaselocation=$_POST['PurchasePlace'];

$arr = array('Service Date' => $servicedate, 
'Service Location' => $servicelocation,                                                                          
'Mileage' => $mileage, 
'Labor' => $labor, 
'Oil Brand' =>  $oilbrand,
'Oil Price' => $oilprice, 
'Filter Brand' => $filterbrand ,
'Filter   Price' => $filterprice ,
'Purchase Place' =>$oilfilterpurchaselocation);
$json= json_encode($id => $arr); //Is this part right?
echo 'Here is our new JSON';
echo  $json;

$var= $db->prepare("INSERT into json VALUES(?,?,?,?,?)";
foreach($data as $row)
{
  $var->bindParam(1, $row['id']);
  $var->bindParam(2, $row['']);
  $var->bindParam(3, $row['']);
  $var->execute();
}

这是我需要的吗?谢谢!

jxct1oxe

jxct1oxe1#

我昨天看了代码,忘了在insert的value部分加引号。当我运行它时,我得到了一个不同的错误,所以我知道我正在进步!结果有人告诉我这是否正确,我不得不将所有列更改为默认值。当我将它们全部改为null时,我能够插入json数据。如果有其他人正在为这个问题而苦恼,那么下面是您需要的insert命令。

$sql= "INSERT INTO column_name (name of parameter) VALUES ('$json')";
 $result = mysqli_query($ms, $sql);

 if(!$result)
 {
     echo' Item Not Inserted! '. mysqli_error($ms);
 }
 else
 {
     echo"Item Inserted!";
 }

确保您执行了一个json编码来生成一个可以放置在数据库中的json对象。

kxe2p93d

kxe2p93d2#

您的所有数据都在数组$arr中传递,您可以简单地使用此代码。

$json= json_encode($arr);

不要使用echo检查print\r($json)中的json数据;

相关问题