SELECT WHERE работает, но не при добавлении AND

Таким образом, у меня есть небольшая проблема с использованием моей строки запроса MySQL. У меня есть таблица с photo_id-s и я
хотел бы получить имя изображения самого высокого photo_id заданного user_id. Если я пытаюсь получить только самый высокий
photo_id, например

SELECT image FROM table_name WHERE photo_id=(SELECT MAX(photo_id) FROM table_name);

Тогда все работает денди. Однако, как только я добавляю оператор AND для оператора WHERE, я получаю Ресурс № 3
из результата запроса. Запрос с AND:

SELECT image FROM table_name WHERE photo_id=(SELECT MAX(photo_id) FROM table_name) AND user_id=1;

Это кажется такой простой задачей, но я был в тупике дольше, чем хотел бы в этом. Все
помощь оценена.
PHP-код в целом (по крайней мере, важный бит)

<?php

include('includes/connection.php');

// this one works fine
$photoQuery = "SELECT image FROM table_name WHERE photo_id=(SELECT MAX(photo_id) FROM table_name)";
// Buggy query
// $photoQuery = "SELECT image FROM table_name WHERE photo_id=(SELECT MAX(photo_id) FROM table_name) AND user_id=5";

$result = mysql_query($photoQuery);
if(!$result){
die(mysql_error());
}

var_dump($result);
$latestPhoto = mysql_fetch_assoc($result);

var_dump($latestPhoto);
echo "lastPhoto - " . $latestPhoto . "<br/>";
?>

-1

Решение

Максимальное значение photo_id один и тот же идентификатор для всех пользователей? Я думаю, вы можете захотеть что-то вроде:

SELECT image FROM table_name WHERE user_id=5 ORDER BY photo_id DESC LIMIT 1;
1

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

Других решений пока нет …

По вопросам рекламы [email protected]