1
我在php文件中查詢時遇到問題。 我有一個查詢檢索電子郵件地址,它的工作原理是正確的,但是當它發送電子郵件時,地址會添加兩次。查詢結果的PHP問題
SELECT email FROM jos_users WHERE id=$i
$ i是一個數字,自動遞增。
我有一個for
檢查每個用戶ID,看看是否應該發送一封電子郵件。
任何想法?
感謝, 塞巴斯蒂安
我在php文件中查詢時遇到問題。 我有一個查詢檢索電子郵件地址,它的工作原理是正確的,但是當它發送電子郵件時,地址會添加兩次。查詢結果的PHP問題
SELECT email FROM jos_users WHERE id=$i
$ i是一個數字,自動遞增。
我有一個for
檢查每個用戶ID,看看是否應該發送一封電子郵件。
任何想法?
感謝, 塞巴斯蒂安
如果你的ID的列表不是太長,你可以使用這樣的事情:
SELECT DISTINCT email FROM jos_users WHERE id IN (5, 18, 24, ...);
如果你得到一個包太長錯誤,您可以increase the packet size,使用temporary table或跟蹤您的PHP應用程序中的電子郵件。下面是一個例子使用臨時表:
CREATE TEMPORARY TABLE tmp (id INT);
/* insert first 50 values (or 100, or 1000, whichever fits into your packet size)*/
INSERT INTO tmp (id) VALUES (5), (18), (24) ...;
/* insert next 50 values */
INSERT INTO tmp (id) VALUES (105), (118), (124) ...;
/* more inserts until you have a temporary table containing all ids */
INSERT INTO tmp ...
INSERT INTO tmp ...
/* select */
SELECT DISTINCT email FROM jos_users INNER JOIN tmp USING (id);
你能後的代碼文件中...描述這是一個很多比顯示它不太有幫助... – ircmaxell 2010-08-20 14:08:49
查詢不是問題。你如何迭代結果? – Fosco 2010-08-20 14:09:25