我用这段代码解码json,用curl(POST)发送:
$json_obj = json_decode( file_get_contents('php://input')); // JSON as obj
var_dump($json_obj);
$id_a = $json_obj -> {'$id_a'};
$id_b = $json_obj -> {'$id_b'};
$value = $json_obj -> {'$value'};
它应该可以正常工作,因为var_dump()说:
object(stdClass)#1 (3) {
["id_a"]=>
int(1)
["id_b"]=>
int(1)
["value"]=>
float(89.35)
}
然后我使用这些变量来进行SQL查询:
$sqlcmd = "INSERT INTO TABLE_1 (ID_A, ID_B, VALUE)
VALUES (".$id_a.", ".$id_b.", ".$value.")";
我将它传递给mysql_query(),但这里是它如何读取$ sqlcmd:
INSERT INTO TABLE_1 (ID_A, ID_B, VALUE)
VALUES (, , )
无效值......
任何提示?我错在哪里?提前致谢
答案 0 :(得分:1)
您没有正确设置变量。
$id_a = $json_obj->id_a;
$id_b = $json_obj->id_b;
$value = $json_obj->value;
答案 1 :(得分:0)
您的代码中有额外的$符号,例如:
$id_a = $json_obj -> {'$id_a'};
请改为尝试:
$id_a = $json_obj -> {'id_a'};
$id_b = $json_obj -> {'id_b'};
$value = $json_obj -> {'value'};