バージョン選択

フォーラム

メニュー

オンライン状況

31 人のユーザが現在オンラインです。 (27 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 31
もっと...

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > 管理機能 > dbエラー[Column 'status' in where clause is ambiguous]

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
l58
投稿日時: 2017/11/27 17:56
対応状況: −−−
半人前
登録日: 2015/2/15
居住地:
投稿: 22
dbエラー[Column 'status' in where clause is ambiguous]
[EC-CUBE] 2.13.5
[レンタルサーバ] WADAX
[OS] win7
[PHP] 5.3.3
[データベース] MySQL 5.1.73
[WEBサーバ] Apache

いつもお世話になっております。

受注管理のプラグイン(受注管理効率化プラグイン <a href="https://www.ec-cube.net/products/detail.php?product_id=428" target="_blank">https://www.ec-cube.net/products/detail.php?product_id=428)を導入したところ、
[Native message: Column 'status' in where clause is ambiguous]
とシステムエラーになります。

エラー内容は下記の通りです。
Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。
SQL: [SELECT dtb_order.*, case when dtb_order.payment_id = dtb_payment.payment_id then 1 else 0 end as bComplete FROM dtb_order left join dtb_payment on dtb_order.payment_id = dtb_payment.payment_id and dtb_payment.module_code = 'mdl_asjpayment' WHERE dtb_order.del_flg = 0 AND status = ? ORDER BY dtb_order.update_date DESC ]
MDB2 Error: unknown error
_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_22877c1a458ceb4cca2834bb1bfee5918f6dda0349 FROM 'SELECT dtb_order.*, case when dtb_order.payment_id = dtb_payment.payment_id then 1 else 0 end as bComplete FROM dtb_order left join dtb_payment on dtb_order.payment_id = dtb_payment.payment_id and dtb_payment.module_code = \'mdl_asjpayment\' WHERE dtb_order.del_flg = 0 AND status = ? ORDER BY dtb_order.update_date DESC LIMIT 0, 100']
[Native code: 1052]
[Native message: Column 'status' in where clause is ambiguous]
on ***/data/class/SC_Query.php(1095)]
***/admin/order/index.php(29): LC_Page_Admin_Order_Ex->process
***/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Ex.php(50): LC_Page_Admin_Order->process
***/data/class/pages/admin/order/LC_Page_Admin_Order.php(83): LC_Page_Admin->sendResponse
***/data/class/pages/admin/LC_Page_Admin.php(104): SC_Helper_Plugin->doAction
***/data/class/helper/SC_Helper_Plugin.php(145): call_user_func_array
(): plg_OrderSort_LC_Page_Admin_Order_Ex::after
***/data/downloads/plugin/OrderSort/class/213/plg_OrderSort_LC_Page_Admin_Order_Ex.php(44): plg_OrderSort_LC_Page_Admin_Order::after
***/data/downloads/plugin/OrderSort/class/plg_OrderSort_LC_Page_Admin_Order.php(152): LC_Page_Admin_Order_Ex->findOrders
***/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Ex.php(472): SC_Query->select
***/data/class/SC_Query.php(176): SC_Query->getAll
***/data/class/SC_Query.php(304): SC_Query->prepare
***/class/SC_Query.php(1024): SC_Query->error
***/data/class/SC_Query.php(1095): trigger_error

確かにstatusというカラムが他のテーブルにも存在しているのはわかったのですが、sqlの知識が乏しく、具体的にどのように修正すればよいのかわかりません。

ご教授頂けますと幸いです。

宜しくお願い致します。
468
投稿日時: 2017/11/28 10:47
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 817
Re: dbエラー[Column 'status' in where clause is ambiguous]
プラグインの配布元に確認していただくのが確実かと思いますが、
エラーログを見る限りでは、
/data/downloads/plugin/OrderSort/class/plg_OrderSort_LC_Page_Admin_Order.php 152行目の前に
クエリーを組み立てている処理があると思います。

$objQuery->setWhere

のような記述があれば、そこがSQLのWHERE句を指定しているところになります。
setWhereへの引数に"status"を配列か文字列で渡していると思いますので、"dtb_order.status"か"dtb_payment.status"に変更すれば、
エラーは無くなるのではないでしょうか?
(多分、dtb_orderと思いますが、
 dtb_orderとdtb_paymentのどちらが正解なのか、前後の処理や該当の画面を見ないとわからないです。)


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

l58
投稿日時: 2017/12/6 0:38
対応状況: −−−
半人前
登録日: 2015/2/15
居住地:
投稿: 22
Re: dbエラー[Column 'status' in where clause is ambiguous]
ご連絡ありがとうございます。

ASJペイメントの決済モジュールとの競合で起こっていたようでした。
プラグインの配布元様に問い合わせたところ、

downloads/plugin/OrderSort/class/plg_OrderSort_LC_Page_Admin_Order.php
の122行目

$objPage->buildQuery($key, $where, $arrWhereVal, $objFormParam);
という行を
$objPage->myBuildQuery($key, $where, $arrWhereVal, $objFormParam);

に変更したところ、解決しました。
ASJペイメントの決済モジュールを導入している場合の競合調整方法になります。同じ箇所でエラーになっている方のために、念のため記載しておきます。

ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は20,805名です
総投稿数は83,817件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1664
4
yuh
1439
5
red
1082
6
fukap
907
7
shutta
827
8
468
817
9 ramrun 789
10
tsuji
784
11
umebius
777
12
tao_s
651
13 karin 641
14 sumida 638
15
homan
633
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.