0

こんにちは私はmagentoデータベースからデータをフェッチするために次のスクリプトを試していますが、私は次のエラーをgrttinfしています

SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、使用する正しい構文を確認してください。':説明--104:メタ説明--506:Anahiのヒント--1067:サイズとフィット'(15行目)

$conn1 = mysql_pconnect("db.aviesta.com","gys",'d3v3l0p3r$') or die ("Error In Connetion Databse" . mysql_error());
mysql_select_db("customer_transaction_dev",$conn1);
//db Connection end
$select=mysql_query("SELECT DISTINCT A.entity_id AS productID,
A.sku, A.created_at, B.value AS Price,
C.value AS Description,
E.qty AS Quantity,
F.stock_status,
H.Value AS imageURL
FROM catalog_product_entity A
INNER JOIN catalog_product_entity_decimal B
ON A.entity_id=B.entity_id AND B.store_id=5
INNER JOIN catalog_product_entity_varchar C
ON A.entity_id=C.entity_id AND C.attribute_id=105 --Description
INNER JOIN catalog_product_entity_text D
ON A.entity_id=D.entity_id
AND D.attribute_id= 97
--97: Description
--104: Meta Description
--506: Anahi's Tip
--1067: Size & Fit
--1068: Style Ideas
INNER JOIN cataloginventory_stock_item E
ON A.entity_id=E.product_id
INNER JOIN cataloginventory_stock_item F
ON A.entity_id=F.product_id AND F.website_id=2
INNER JOIN catalog_product_relation G
ON A.entity_id=G.parent_id
INNER JOIN catalog_product_entity_varchar H
ON A.entity_id=H.entity_id
AND H.attribute_id =106 --Image
WHERE A.attribute_set_id IN (70,71)
AND A.entity_id=26179' ") or die(mysql_error());

どこで間違いをしているのか教えてください

4

1 に答える 1

3

二重ダッシュのコメントには、次のスペースが必要です。

違う:

--97: Description

右:

-- 97: Description

http://dev.mysql.com/doc/refman/5.5/en/comments.htmlを参照してください。


あなたのコメントについて:

WHERE A.attribute_set_id IN (70,71)
AND A.entity_id=26179' 

クエリの 30 行目の WHERE 句の末尾に一重引用符があります。SQL パーサーは、ファイルの先頭からではなく、SQL ステートメントの先頭から行をカウントします。


Image発生する唯一の場所は次のとおりです。

ON A.entity_id=H.entity_id
AND H.attribute_id =106 --Image

これは、二重ダッシュ コメントの後にスペースが必要な別のケースです。

クエリの前に、そのようなケースがもう 1 つあるようです。

ON A.entity_id=C.entity_id AND C.attribute_id=105 --Description

いくつかの空のテーブルに対してクエリをテストし、スペースを追加してすべてのコメントを修正すると、クエリが機能しました。

于 2013-02-05T06:37:24.400 に答える