Php 警告:http\u build\u query():参数1应为数组或对象(但它有效)
我收到以下警告:Php 警告:http\u build\u query():参数1应为数组或对象(但它有效),php,api,curl,Php,Api,Curl,我收到以下警告: 警告:http\u build\u query():参数1应为数组或对象。 我知道这个错误代表什么,也知道我为什么会得到它,但我不知道如何修复它,因为代码就像一个符咒,所以也许你们可以帮我解决 我使用以下CURLOPT_POSTFIELDS对url进行卷曲: curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query(json_encode($data))) json_encode($data)的vardump= string(57)
警告:http\u build\u query():参数1应为数组或对象。
我知道这个错误代表什么,也知道我为什么会得到它,但我不知道如何修复它,因为代码就像一个符咒,所以也许你们可以帮我解决
我使用以下CURLOPT_POSTFIELDS对url进行卷曲:curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query(json_encode($data)))代码>
json_encode($data)的vardump=
string(57){“transporterCode”:“TNT”,“trackAndTrace”:“3SAOLD1234567”}“
因此出现了错误(它是一个字符串),但是我不允许更改任何内容,因为这样API调用将失败。除了消除错误之外,我还能做什么来修复它吗
/爱
Grumpymuppet适用于任何有相同问题的人。对我来说,这是所需的post方法(PUT)和http_build_query()的组合造成的
我最终使用了:
这就解决了问题
祝所有有同样问题的人好运。对我来说,这是必需的post方法(PUT)和http_build_query()的组合,正是他们把问题搞砸了
我最终使用了:
这就解决了问题
祝您好运http\u build\u query([json\u encode($data])
?您应该通过第一个参数数组,然后尝试这个curl\u setopt($ch,CURLOPT\u POSTFIELDS,http\u build\u query($data));您可能希望使用yes Forge Web Design,但是如果没有json_编码,它将不接受。这是一条消息:提供的正文不符合要求的规范。请检查消息结构是否存在错误。
在Berto99中两次打开(和一次关闭)http_build_查询如何工作([json_encode($data])
?您应该传递第一个参数数组,然后尝试这个curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));您可能希望使用yes Forge Web Design,但是如果没有json_编码,它将不接受。这是一条消息:提供的正文不符合要求的规范。请检查消息结构是否存在错误。
如果两次打开(一次关闭),如何使用Berto99?
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));