ショッピング カート内の見積もり値のヒストグラムを取得しようとしています。このクエリは、mySQL に直接貼り付けると機能しますが、PHP 側に問題があります。
エラーメッセージ:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in .../.../... Line 26.
私のコード:
echo '<h2>Histogram of Quotes</h2>';
$sql = 'SELECT
ROUND(ROUND(Fixes.FixAM/31.1035 * Products.Fineness * Products.Buy * Quotes.Weight, 2), -3) AS bucket,
COUNT(*) AS Count,
RPAD('', LN(COUNT(ROUND(Fixes.FixAM/31.1035 * Products.Fineness * Products.Buy * Quotes.Weight, 2))), "*") AS bar
FROM
Quotes,
Products,
Fixes,
Currencies,
Metals,
ProductTypes
WHERE
Quotes.ProductId = Products.Id AND
Products.MetalId = Metals.Id AND
Products.ProductTypeId = ProductTypes.Id AND
Fixes.CurrencyId = Currencies.Id AND
Fixes.MetalId = Metals.Id AND
Currencies.Code = "GBP"
GROUP BY bucket';
$stmt = $db->prepare($sql);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
26行目は次の行ですGROUP BY bucket';
SQL コードが機能することの証明
bucket COUNT bar
0 114 *****
1000 37 ****
2000 8 **
3000 2 *
4000 3 *
5000 4 *
8000 1
9000 1
10000 1
21000 1