Как говорится в заголовке, у меня есть эта проблема, пытаясь получить эту запись, мой запрос работает непосредственно в PHPMyAdmin, но когда я использую его в коде с PHP, он получает вторую последнюю записьПроблема с получением последней записи с самой последней датой - PHP
Мой второй последний запись имеет эти значения:
id_record
= 17292
id_user
= 6
my_date
= 2016-12-31 11:09:08
Моего последней записи:
id_record
= 17618
id_user
= 6
my_date
= 2017-01-05 13:37:21
Это запрос, я использую для достижения этой
SELECT id_record FROM my_table WHERE my_date = (SELECT MAX(my_date) FROM my_table WHERE id_user = 6 ORDER BY id_record DESC LIMIT 1)
Когда я использую этот запрос непосредственно в PHPMyAdmin он отлично работает, он показывает запись с идентификатором 17618
, но в коде на PHP он работает, но он получает вторую последнюю запись (17292
), я понятия не имею, почему это происходит, у вас есть идея? Надеюсь, вы можете мне помочь, спасибо.
Это код PHP
$last_record = mysql_query("SELECT id_record FROM my_table WHERE my_date = (SELECT MAX(my_date) FROM my_table WHERE id_user = 6 ORDER BY id_record DESC LIMIT 1)") or die (mysql_error());
$last_record = mysql_fetch_assoc($last_record);
$last_record = $last_record['id_record'];
Во-первых, здесь проще SQL: 'выбрать * из my_table где id_user = 6 упорядочить по my_date пределу по убыванию 1'. Во-вторых, вы указали код ZERO PHP, чтобы молиться, чтобы кто-то здесь мог взломать ваш компьютер и прочитать ваш код? – MonkeyZeus
Я добавил код PHP – Fixer
Проблема возникает, если вы измените SQL на то, что я сказал? Одно, что нужно проверить в вашем коде, было бы многократным использованием 'mysql_fetch_assoc()', потому что он извлекает одну запись каждый раз, когда вы ее вызываете. Если у вас есть какой-то сложный механизм циклирования, который запускает запрос на строку другого запроса и постоянно повторно использует '$ last_record', тогда это может вызвать проблемы, если вы не будете осторожны. – MonkeyZeus