string(143) "[{"userId":"1","us-6ren">
gpt4 book ai didi

php不向mysql插入json数据

转载 作者:行者123 更新时间:2023-11-29 22:26:07 25 4
gpt4 key购买 nike

这是我的第一个问题;我是一个正在努力学习的新手。我的 json 看起来像这样:

    array(1) {["usersJSON"]=>string(143) 
"[{"userId":"1","userName":"Emilio"},{"userId":"2","userName":"Andre"},
{"userId":"3","userName":"Kristina"},
{"userId":"4","userName":"Damaris"}]"}string(143)
"[{"userId":"1","userName":"Emilio"},{"userId":"2","userName":"Andre"},
{"userId":"3","userName":"Kristina"},{"userId":"4","userName":"Damaris"}]"
[{"id":"1","status":"no"},{"id":"2","status":"no"},{"id":"3","status":"no"},
{"id":"4","status":"no"}]

我的 php 页面如下所示:

<?php
include_once 'db_functions.php';
//Create Object for DB_Functions class
$db = new DB_Functions();
var_dump($_POST);
//Get JSON posted by Android Application
$json = $_POST["usersJSON"];
error_log (var_dump($json));
//Remove Slashes
if (get_magic_quotes_gpc()){
$json = stripslashes($json);
}
//Decode JSON into an Array
$data = json_decode($json);
//Util arrays to create response JSON
$a=array();
$b=array();
for($i=0; $i<count($data) ; $i++)
{
//Store User into MySQL DB
$res = $db->storeUser($data[$i]->userId,$data[$i]->userName);
//Based on inserttion, create JSON response
if($res){
$b["id"] = $data[$i]->userId;
$b["status"] = 'yes';
array_push($a,$b);
}else{
$b["id"] = $data[$i]->userId;
$b["status"] = 'no';
array_push($a,$b);
}
}
//Post JSON response back to Android Application
echo json_encode($a);
?>

我已经做了太多的调试,我快要出错了。我可以在日志中看到 php 页面正在访问我的数据库并尝试插入数据;但这是服务器日志所说的: 70.193.209.170 - - [14/May/2015:06:37:45 -0500]“POST/webservice2/insertuser.php HTTP/1.0”200 393“-”“-”

我什至从 outsource.com 聘请了人员。长话短说;我最终还是回到了开始的地方,而且还少了 200 美元。他基本上回来说“问题出在你的 php 页面......”,尽管我的广告明确表示“我需要 PHP 帮助”,但那家伙随后说他不懂 PHP。

无论如何;寻求一些指导和任何帮助将不胜感激。预先感谢您的时间和投入。

最佳答案

您已经解码了 json,因此它转换回普通数组,并且您正在尝试使用关联数组作为对象。以通常访问二维关联数组的正常方式访问它。

请使用以下代码:

<?php
include_once 'db_functions.php';
//Create Object for DB_Functions class
$db = new DB_Functions();
var_dump($_POST);
//Get JSON posted by Android Application
$json = $_POST["usersJSON"];
error_log (var_dump($json));
//Remove Slashes
if (get_magic_quotes_gpc()){
$json = stripslashes($json);
}
//Decode JSON into an Array
$data = json_decode($json);
//Util arrays to create response JSON
$a=array();
$b=array();
for($i=0; $i<count($data) ; $i++)
{
//Store User into MySQL DB
$res = $db->storeUser($data[$i]['userId'],$data[$i]['userName']);
//Based on inserttion, create JSON response
if($res){
$b["id"] = $data[$i]['userId'];
$b["status"] = 'yes';
array_push($a,$b);
}else{
$b["id"] = $data[$i]['userId'];
$b["status"] = 'no';
array_push($a,$b);
}
}
//Post JSON response back to Android Application
echo json_encode($a);

?>

希望这对您有帮助。

关于php不向mysql插入json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30251855/

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