我有PHP网页,但我有一个代码问题,我在这里搜索,得到了一些类似的答案,但很抱歉我不明白如何解决我的错误。当我使用MySQLI和PHP 7.1,然后我的网页工作,但有一些错误,当我使用MySQL和PHP 5.6,然后我的网页工作完美,除了这个错误,如下所示。
这是我的错误:
Notice: Trying to get property of non-object in /var/www/html/lib/block_io.php on line 95
Notice: Trying to get property of non-object in /var/www/html/lib/block_io.php on line 95
Notice: Trying to get property of non-object in /var/www/html/lib/block_io.php on line 95
Fatal error: Uncaught exception 'Exception' with message 'Failed: ' in /var/www/html/lib/block_io.php:95 Stack trace: #0 /var/www/html/lib/block_io.php(53): BlockIo->_request('get_new_address', Array) #1 /var/www/html/block.php(20): BlockIo->__call('get_new_address', Array) #2 /var/www/html/block.php(20): BlockIo->get_new_address() #3 /var/www/html/deposit.php(76): include('/var/www/html/b...') #4 {main} thrown in /var/www/html/lib/block_io.php on line 95
这是代码中的一行
81 // it's a GET method
82 if ($method == 'GET') { $url .= '&' . $addedData; }
83 curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
84 curl_setopt($ch, CURLOPT_URL, $url);
85 if ($method == 'POST')
86 { // this was a POST method
87 curl_setopt($ch, CURLOPT_POST, 1);
88 curl_setopt($ch, CURLOPT_POSTFIELDS, $addedData);
89 }
90 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
91 // Execute the cURL request
92 $result = curl_exec($ch);
93 curl_close($ch);
94 $json_result = json_decode($result);
95 if ($json_result->status != 'success') { throw new
Exception('Failed: ' . $json_result->data->error_message); }
96 // Spit back the response object or fail
97 return $result ? $json_result : false;
98 }
我知道我不能问好问题,我不知道怎么在这里搜索答案,我不知道怎么用答案如果我找到类似的东西,但也许有人可以解释我,我有什么这段代码错了,并给出一些如何解决的建议
修改
好的,我不知道我是否做得对,但这个var_dump我在我的第94行使用
94 $json_result = var_dump($result);
然后我收到此错误
bool(false)
Notice: Trying to get property of non-object in /var/www/html/lib/block_io.php on line 95
Notice: Trying to get property of non-object in /var/www/html/lib/block_io.php on line 95
Notice: Trying to get property of non-object in /var/www/html/lib/block_io.php on line 95
Fatal error: Uncaught exception 'Exception' with message 'Failed: ' in /var/www/html/lib/block_io.php:95 Stack trace: #0 /var/www/html/lib/block_io.php(53): BlockIo->_request('get_new_address', Array) #1 /var/www/html/block.php(20): BlockIo->__call('get_new_address', Array) #2 /var/www/html/block.php(20): BlockIo->get_new_address() #3 /var/www/html/deposit.php(76): include('/var/www/html/b...') #4 {main} thrown in /var/www/html/lib/block_io.php on line 95
好的,这是我的完整php文件,也许有人看到错误其他行不行95,请帮帮我,我不知道如何解决这个错误
http://sandbox.onlinephpfunctions.com/code/29b428d4f224990f865e2a708fd188fd66016766
答案 0 :(得分:0)
尝试json_decode( $result, true );
你需要告诉函数它是一个对象
答案 1 :(得分:0)
json_decode根据给定的json输入返回true,false,null,对象或数组。 See here
$json_result->status != 'success'
假设返回了对象。
为了验证这一点,请暂时更改第95行:
if ($json_result === true) {
echo('TRUE');
}
elseif ($json_result === false) {
echo('FALSE');
}
elseif ($json_result === null) {
echo('NULL');
}
elseif (is_array($json_result) {
echo('ARRAY');
echo($json_result['status'];
}
else {
echo('EXPECTED OBJECT');
echo($json_result->status);
}
或者在第92行检查$ result的内容。
然后你会看到你实际拥有的json以及从中得到的解码值。
如var-dump所示,您似乎得到了false
。如果false
不是服务发送的有效返回值,那么您的卷曲调用很可能是错误的。