PHP MySQL — где условие корреляции не читает переменную

Приведенный ниже код, который у меня уже есть, делает именно то, что мне нужно, кроме одной вещи.

куда date(d.added) = '$date' Мне также нужно войти в систему, чтобы равняться $date

Я пытался добавить его во внешнее, а также в выражение WHERE, но, похоже, не совсем правильно понял

SELECT d.*
FROM data d
WHERE date(d.added) = '$date' AND
d.logon = (SELECT MIN(d2.logon) FROM data d2 WHERE d2.name = d.name);

Дайте мне знать, если вам нужна дополнительная информация

отредактированный


Вот как это выглядит в настоящее время, но я не хочу, чтобы он отображал результаты, если и добавленные, и вход в систему не совпадают
введите описание изображения здесь

$sql = "SELECT d.*
FROM data d
WHERE date(d.added) = '$date' AND
d.logon = (SELECT MIN(d2.logon) FROM data d2 WHERE d2.name = d.name);";

$result = $conn->query($sql);

0

Решение

Вы пытаетесь изменить:

 '$date'

в

 "$date"
0

Другие решения

Не могли бы вы попробовать следующий формат.

$query="SELECT d.* FROM data d WHERE date(d.added) = '".$date."' AND d.logon = (SELECT MIN(d2.logon) FROM data d2 WHERE d2.name = d.name)";

и вы выполните запрос, используя следующий формат

$result = mysql_query($query);

0

Удалось это:

SELECT d.*
FROM data d
WHERE date(d.added) = '$date' AND
d.logon = (SELECT MIN(d2.logon) FROM data d2 WHERE d2.name = d.name AND date(d2.logon) = '$date');

0