当我尝试从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++;
}
}
?>
你需要使用这样的代码:
$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);
}
}
完整的例子在这里