バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 独自フォームから会員登録処理

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
waterfall
投稿日時: 2011/10/3 21:09
対応状況: −−−
新米
登録日: 2011/9/29
居住地:
投稿: 7
独自フォームから会員登録処理
[EC-CUBE]2.11.2
[PHP]5.2.5
[データベース]mysql5.1.22
[WEBサーバ]apache

独自で作成したフォームから会員登録(dtb_customerへ追加)をしたいと思っております。
※EC-CUBE内でのテンプレート追加・カスタマイズは行わないことが前提です。

作成を進めているのですが、Insert実行時に下記エラーが発生してしまいます。

Duplicate entry '**' for key 'PRIMARY'

dtb_customerのPRIMARY keyはcustomer_idだと思うのですがphpMyAdminで確認する限り、'**'に表示されているcustomer_idは重複していません。

試しにphpMyAdminで、上記重複エラーが出ているSQL文を実行した場合は、問題なく処理が完了しました。

このような現象が起こる原因としては、どのような事が考えられますでしょうか?

どうぞ宜しくお願いいたします。
yukikaze
投稿日時: 2011/10/4 9:25
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 独自フォームから会員登録処理
お力にはなれないかもしれませんが…

PGに記載されているInsert文を教えて頂くことはできますでしょうか?
waterfall
投稿日時: 2011/10/4 17:28
対応状況: −−−
新米
登録日: 2011/9/29
居住地:
投稿: 7
Re: 独自フォームから会員登録処理
PGのInsert文は下記の通りです。

Insert into dtb_customer (customer_id,name01,name02,kana01,kana02,zip01,zip02,pref,addr01,addr02,email,tel01,tel02,tel03,fax01,fax02,fax03,sex,password,reminder,reminder_answer,salt,secret_key,status,mailmaga_flg) values ('**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','**','2','**')

通常の会員登録の項目ではなく、必要な項目のみ追加をしています。
'**'はフォームに入力された値、又はEC-CUBEの仕様に合わせて生成した値が入ります。
customer_idは重複しないように、既に入っているデータの最高値に+1しています。
yukikaze
投稿日時: 2011/10/4 17:33
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 独自フォームから会員登録処理
動作確認はしてませんが!
customer_id[Field]は auto_increment が設定されてますよね?
Insert文から customer_id[Field] を省略されてみては?
waterfall
投稿日時: 2011/10/4 20:33
対応状況: −−−
新米
登録日: 2011/9/29
居住地:
投稿: 7
Re: 独自フォームから会員登録処理
以前のバージョンでは、auto_incrementが設定されていましたが、2.11では設定されない仕様のようです。
※customer_idの番号は、dtb_customer_customer_id_seqテーブルで管理されています。

上記により、customer_id[Field] を省略すると0が入ってしまい同様のエラーが発生します。

書き忘れていましたが、customer_idにはどの数字を入れても重複エラーが発生してしまいます。

Duplicate entry '**' for key 'PRIMARY' は、
単純な重複エラー以外でも発生する可能性はあるのでしょうか?
yukikaze
投稿日時: 2011/10/5 9:27
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 独自フォームから会員登録処理
Ver2.11では、dtb_customer.customer_id には auto_increment は設定されていないんですね。
勉強不足で申し訳ありません。
ソースだけから判断すると、dtb_customer_customer_id_seq[TBL]に auto_increment が設定されていて、そこに空データを Install し 'SELECT LAST_INSERT_ID()' で auto_increment の値を取得しているんですね。
SC_Helper_Customer.php で dtb_customer_customer_id_seq[TBL] の nextVal と dtb_customer[TBL] への Insert をしているので、間にDebug文+Exit を追加して、処理がどこまで正常かを見ていくしかないかなぁ?
もはやInsert2回やってない?くらいの発想しかでてきません。

ホント、勉強不足で申し訳ありません。
かき回しただけで終わった…かも。すみません。
waterfall
投稿日時: 2011/10/5 11:36
対応状況: −−−
新米
登録日: 2011/9/29
居住地:
投稿: 7
Re: 独自フォームから会員登録処理
yukikaze様、ありがとうございます。
ひとまず処理がどこまで正常なのか見ていこうと思います。
お手数おかけいたしました。
yukikaze
投稿日時: 2011/10/5 11:45
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 独自フォームから会員登録処理
役立たずでスミマセンでした。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,050名です
総投稿数は110,021件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.