Борьба с составлением SQL-запроса

-8

Я пытаюсь дополнительно настроить существующую модификацию для моего сайта/форума, но, к сожалению, автор, которого я попросил о поддержке, на данный момент мало свободного времени.

Может ли кто-нибудь сообщить, где я могу ошибиться в этом вопросе?

            SELECT date FROM {db_prefix}log_activity
WHERE date = 2015-12-25
( SELECT COUNT(*) AS total FROM {db_prefix}log_online
WHERE ID_MEMBER = $memberID );

Я в основном ищу, чтобы проверить, указана ли моя указанная дата в {db_prefix} log_activity, и если это произойдет, вызовите мое действие для всех членов, найденных в {db_prefix} log_online

(больше для кода, но я думаю, что указанная выше часть вызывает у меня проблемы..)

Полный код моих попыток:

            if (!in_array('test',$currentBadges))
{

$resultgroup = $smcFunc['db_query']('', "
SELECT date FROM {db_prefix}log_activity
WHERE date = 2015-04-20
( SELECT COUNT(*) AS total FROM {db_prefix}log_online
WHERE ID_MEMBER = $memberID );
");
$totalRow = $smcFunc['db_fetch_assoc']($resultgroup);

{
$badgeAction = 'test';
if (!in_array($badgeAction,$currentBadges) && $totalRow['total'] >= 1)
{
$badgeID = GetBadgeIDByAction($badgeAction);
$ret = AddBadgeToMember($memberID,$badgeID,false);
if ($ret == true)
{
$currentBadges[] = $badgeAction;
$newBadges[] = $badgeAction;
}

}

}
//end badge code
}

Я никогда не пользовался этим сайтом, так что, надеюсь, этот формат будет несколько читабельным.: P

В основном то, что я пытаюсь сделать, это: IF (дата) = сегодня И (участник) зарегистрировался в награждении THEN...

Журнал измененных попыток:

            "WHERE date = 2015-04-20"
WHERE date = "2015-04-20"

спросил(а) 2015-04-20T19:44:00+03:00 5 лет, 6 месяцев назад
0
58

В соответствии с вашими изменениями в использовании "WHERE date = 2015-04-20"

Вы используете двойные кавычки внутри запроса с двойными кавычками.

Используйте одинарные кавычки, подобные этому, и согласно тому, что у вас есть в вашем первоначально опубликованном коде:

$resultgroup = $smcFunc['db_query']('', "
SELECT date FROM {db_prefix}log_activity
WHERE date = '2015-04-20'
( SELECT COUNT(*) AS total FROM {db_prefix}log_online
WHERE ID_MEMBER = $memberID );
");

Кроме того, если $memberID не является целым числом, его также нужно будет указывать.

То есть:

$resultgroup = $smcFunc['db_query']('', "
SELECT date FROM {db_prefix}log_activity
WHERE date = '2015-04-20'
( SELECT COUNT(*) AS total FROM {db_prefix}log_online
WHERE ID_MEMBER = '$memberID' );
");
    Но я несколько сомневаюсь в этом. Тем не менее, мне нужно было указать это на всякий случай.

Для получения дополнительной информации об этом, прочитайте следующее в Stack

и строковые функции на веб-сайте MySQL.com:

ответил(а) 2015-04-20T20:23:00+03:00 5 лет, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема