Проблема PHP с результатом запроса

У меня проблема с запросом в php-файле. У меня есть запрос, который извлекает адрес электронной почты, он работает правильно, но когда он отправляет письмо, адрес добавляется дважды.

ВЫБЕРИТЕ электронную почту ОТ jos_users, ГДЕ id = $ i

$ i это число Это автоматически увеличивается.

У меня есть для , чтобы проверить каждый идентификатор пользователя, чтобы увидеть, следует ли отправлять электронное письмо.

Есть идеи?

спасибо, Себастьян

1
задан Justin Ethier 20 August 2010 в 14:16
поделиться

1 ответ

Если ваш список идентификаторов не слишком длинный, вы можете использовать что-то вроде этого:

SELECT DISTINCT email FROM jos_users WHERE id IN (5, 18, 24, ...);

Если вы получаете пакет слишком длинный , вы можете либо ] увеличьте размер пакета , используйте временную таблицу или отслеживайте электронные письма в вашем приложении 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);
2
ответ дан 2 September 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: