0

当我尝试从Google BigQuery中的表中提取的内容读取数组中的行时,它只将第一行读入数组。Google BigQuery将行读取到数组中

我已经做到了在其他代码相同的方式,不知道这是为什么不读所有的行

<?php 
    function top10($chart){ 
     $client = new Google_Client(); 
     $client->useApplicationDefaultCredentials(); 
     $client->addScope(Google_Service_Bigquery::BIGQUERY); 
     $bigquery = new Google_Service_Bigquery($client); 
     $projectId = 'projectID'; 

     $request = new Google_Service_Bigquery_QueryRequest(); 

     $query = "SELECT First_Name, Last_Name, G FROM [" . $chart. "] ORDER BY G DESC LIMIT 10"; 

     $request->setQuery($query); 

     $response = $bigquery->jobs->query($projectId, $request); 
     $rows = $response->getRows(); 

     $ii = 0; 
     $i = 0; 
     foreach ($rows as $row) 
     { 
      foreach ($row['f'] as $field) 
      { 
       $Info[$i][$ii] = $field['v']; 
       $ii++; 
      } 
      $i++; 
     } 
    } 
?> 

回答

1

你需要使用这样的事情:

$rows = $queryResults->rows(); 
     foreach ($rows as $row) { 
      printf('--- Row %s ---' . PHP_EOL, ++$i); 
      foreach ($row as $column => $value) { 
       printf('%s: %s' . PHP_EOL, $column, $value); 
      } 
     } 

完整示例here

相关问题