ECmall 後台無批量建立會員功能,直接操作 ecm_member 資料表,關鍵在於密碼必須預先以 MD5 雜湊存入,否則前台無法登入。
INSERT INTO jcom_mall.ecm_member VALUES (
NULL, 'yourtion', 'mail@yourtion.com',
'5fa2db591ebb44529673957ed8b738fc', -- MD5('yourpassword')
'', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
'0', NULL, NULL, '0', '0', NULL, '0', NULL, ''
);
假設 A 欄為帳號,其餘欄位固定或留空:
=CONCATENATE(
"INSERT INTO jcom_mall.ecm_member VALUES (NULL, '",
A1, "', 'mail@yourtion.com', '5fa2db591ebb44529673957ed8b738fc', ",
"'', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ",
"'0', NULL, NULL, '0', '0', NULL, '0', NULL, '');"
)
MD5(input) == password 欄位,明文密碼無法通過。'\"'\" 產生 '。NULL 不加引號,'' 為空字串,依欄位定義選擇。NULL 讓資料庫自動填入 user_id。\"', B1, '\", '\"', C1, '\" 等。LOAD DATA INFILE:先輸出 CSV,再 LOAD DATA INFILE 'file.csv' INTO TABLE ecm_member FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' (user_name, email, password, ...)。SELECT COUNT(*) FROM ecm_member WHERE password = MD5('test') 確認雜湊正確。此方法通用於所有「密碼存雜湊、無批量介面」的 PHP 專案,核心是「離線產生雜湊 → 參數化 SQL → 批次執行」。