我正在使用以下代码访问对象属性
$address = $_POST['address'];
$balance = file_get_contents('https://block.io/api/v2/get_address_balance/?api_key=xxxx&addresses='. $address);
echo $balance->data->available_balance;
Print_r($balance);
其实我想要回显available_balance,print_r的输出就是这个
{
"status" : "success",
"data" : {
"network" : "BTC",
"available_balance" : "0.00000000",
"pending_received_balance" : "0.00000000",
"balances" : [
{
"user_id" : null,
"label" : null,
"address" : "xxxxxxxxxxxxxxxxxxxxxxxxx",
"available_balance" : "0.00000000",
"pending_received_balance" : "0.00000000"
}
]
}
这个问题的下一部分是请建议我如何保护免受SQl注入攻击,在我的项目中所有表单都是通过ajax提交的,如果用户每天只能从一个IP向数据库发送20个请求,是否会善于SQL注入保护。
答案 0 :(得分:4)
我假设这是一个JSON数据,因此您首先要将其解码为PHP对象。请尝试以下代码。
$balance = json_decode($balance);
echo $balance->data->balances[0]->available_balance
答案 1 :(得分:2)
$address = $_POST['address'];
$balance = file_get_contents('https://block.io/api/v2/get_address_balance/?api_key=xxxx&addresses='. $address);
$obj = json_decode($balance);
print_r($obj);
您必须解码json响应以将其转换为对象,如果您想以关联数组的形式访问它们,您可以这样做
$obj = json_decode($balance,true);
echo $obj['data'][0]['available_balance'];