gpt4 book ai didi

PHP JSON数组解码并将数据存储到mysql

转载 作者:行者123 更新时间:2023-11-29 12:34:12 24 4
gpt4 key购买 nike

我正在解码 JSON 数组,然后使用 foreach 进行循环,然后将数据插入到 mysql...但总是收到“无法保存数据”!

请参阅下面的 php 脚本以了解我已经尝试过的内容:

<?php

$objConnect = mysql_connect("localhost","","");
$objDB = mysql_select_db("test");

$raw_json = <<<EOT
{"data":[
{"PersonName":"first user","PersonEmail":"first@user.tld"},
{"PersonName":"second user","PersonEmail":"second@user.tld"}
]}
EOT;

// $raw_json = $_POST["allData"]; -- passing parameter

$json = json_decode($raw_json);
// echo json_encode($json); --- getting

foreach($json->data as $item){
// echo json_encode($item); --- getting
$strPersonName = $item->PersonName;
// echo json_encode($strPersonName); --- getting
$strPersonEmail = $item->PersonEmail;
// echo json_encode($strPersonEmail); --- getting

/*** Insert ***/
$strSQL = "insert into person (PersonName,PersonEmail)
values (
'".$strPersonName."',
'".$strPersonEmail."',
)
";

$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
$arr['StatusID'] = "0";
$arr['Message'] = "Cannot save data";
}
else
{
$arr['StatusID'] = "1";
$arr['Message'] = "Data stored successfully";
}
}

mysql_close($objConnect);
echo json_encode($arr);
?>

当我使用下面的 php 脚本时,我能够将数据存储到服务器,请检查:

<?php
$objConnect = mysql_connect("localhost","","");
$objDB = mysql_select_db("test");

$_POST["sPersonName"] = "demo";
$_POST["sPersonEmail"] = "deom@demo.tld";

$strPersonName = $_POST["sPersonName"];
$strPersonEmail = $_POST["sPersonEmail"];

/*** Insert ***/
$strSQL = "INSERT INTO person (PersonName, PersonEmail)
VALUES (
'".$strPersonName."',
'".$strPersonEmail."'
)
";

$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
$arr['StatusID'] = "0";
$arr['Message'] = "Cannot save data!";
}
else
{
$arr['StatusID'] = "1";
$arr['Message'] = "Data stored successfully";
}

/**
$arr['StatusID'] // (0=Failed , 1=Complete)
$arr['Error'] // Error Message
*/

mysql_close($objConnect);

echo json_encode($arr);
?>

那么可能是什么原因呢?当我解码 json 数组时,为什么我无法将数据存储到 mysql 表中?

最佳答案

最后一个值后面有一个逗号...

改变

$strSQL = "insert into person (PersonName,PersonEmail)
values (
'".$strPersonName."',
'".$strPersonEmail."',
)
";

进入

$strSQL = "insert into person (PersonName,PersonEmail)
values (
'".$strPersonName."',
'".$strPersonEmail."'
)
";

关于PHP JSON数组解码并将数据存储到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27039605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com