在 php 中将变量传递给 graphql

passing variables to graphql in php

我只是想确认我对如何将 graphql 变量从 php 传递到 graphql 查询的理解。我正在使用 php Curl 来执行我对 graphql api 服务器的请求。

   $data='
    query($businessId : ID!, $page : Int!, $pageSize : Int!) {
       business(id: $businessId) {
          id
          isClassicInvoicing
          invoices(page: $page, pageSize: $pageSize) {'
  ...

  $variables=array(
    '$businessId'=>'"xxxx"',
    '$page'=>1,
    '$pageSize'=>5);

  $payData = urlencode($data);
  $payVariables = urlencode(json_encode($variables));
  $apiURL=$apiURL . '?' . "query=".$payData."&variables=".$payVariables ;

我收到的错误是 - 未提供所需类型 "Int!" 的变量“$page”。我也收到 $businessId 和 $pageSize 的错误。

$variables 的结构不正确。正确的方法是

$variables='
{
  "businessId": "xxxx",
  "page": 1,
  "pageSize": 5
}';