SELECT WHERE有效,但在添加AND时无效

时间:2014-12-13 01:23:46

标签: php mysql select where

所以我使用MySQL查询字符串时遇到了一些问题。我有一张带有photo_id-s和我的桌子 想要检索给定user_id的最高photo_id的图像名称。如果我想要获得最高价 photo_id,例如

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

然后所有的作品花花公子。但是,当我为WHERE语句添加AND时,我会收到一个Resource#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 个答案:

答案 0 :(得分:1)

photo_id的最大值是否为所有用户的相同ID?我想你可能想要这样的东西:

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