2016-10-11 11 views
0

にPHPの文字列変数を使用して、私はこのエラーで困惑しています:フィールドQLDがそのテーブルで最も確実であるSQL BigQueryは:致命的なエラークエリ

"invalidQuery", "message": "Field 'QLD' not found in table 'medicare.medicareTable'.", "locationType": "other", "location": "query" } ], "code": 400

ので。

私はPHPファイルで次のクエリを使用したBigQueryからの応答を取得しようとしています

$qld = 'QLD'; 

$request = new Google_Service_Bigquery_QueryRequest(); 

$request->setQuery("SELECT Gender, SUM(Cost) AS Cost 
FROM [medicare.medicareTable] 
WHERE State = $qld 
GROUP BY Gender"); 

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

私は、クエリをいじって、私は、文字列、例えばとの$ QLDを交換する場合ことを発見しました:

WHERE State = 'QLD' 

次に動作します。 私は迷っています。ここで何がうまくいかないのですか?

ここでは完全な誤りは、それが必要なの場合には、です:

Fatal error: Uncaught exception 'Google_Service_Exception' with message '{ "error": { "errors": [ { "domain": "global", "reason": "invalidQuery", "message": "Field 'QLD' not found in table 'medicare.medicareTable'.", "locationType": "other", "location": "query" } ], "code": 400, "message": "Field 'QLD' not found in table 'medicare.medicareTable'." } } ' in /base/data/home/apps/s~s3449107-assign2/1.396261573977805792/php/google-api-php-client/src/Google/Http/REST.php:118 Stack trace: #0 /base/data/home/apps/s~s3449107-assign2/1.396261573977805792/php/google-api-php-client/src/Google/Http/REST.php(94): Google_Http_REST::decodeHttpResponse(Object(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...') #1 [internal function]: Google_Http_REST::doExecute(Object(GuzzleHttp\Client), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...') #2 /base/data/home/apps/s~s3449107-assign2/1.396261573977805792/php/google-api-php-client/src/Google/Task/Runner.php(181): call_user_ in /base/data/home/apps/s~s3449107-assign2/1.396261573977805792/php/google-api-php-client/src/Google/Http/REST.php on line 118

+0

可能な重複[とき一重引用符、二重引用符、およびbを使用するackticks?](http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks) – chris85

+0

あなたは低料金です。重要なので、あなたは、投票の下の投稿された回答の左側にあるチェックマークを使用して、受け入れられた回答に印を付ける必要があります。これはあなたの率を高めます。どのようにこのリンクを見て、この作品を参照してください参照してください:http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work#5235 – Pentium10

答えて

2

ない

WHERE State = $qld 

しかし

WHERE State = '$qld' 

テキストがテキストである。)の

+0

今私はダム、ハハだと感じる。ありがとう!! – helpmeplz