내가 그러나 그것은 예상대로 작동하지 않습니다,이 여분의 행을 반환,이 쿼리의 행 수를 계산하기 위해 노력하고있어, 그것은 12해야한다 예상대로 작동하지 않는,하지만 13MYSQL은
있어$numPhotos = mysql_num_rows(mysql_query("
SELECT albums.id
FROM albums, albumData
WHERE
(albumData.id=albums.albumID OR albums.albumID=0)
AND
albums.userID=$id
AND albums.state=0
AND albumData.state=0
"));
OR 문 부분을 제거하고 albumID = 0 인 행을 계산하지 않으면 11을 반환합니다. albumID가 0 인 행은 하나만 있지만 2로 계산합니다.
$numPhotos = mysql_num_rows(mysql_query("
SELECT albums.id
FROM albums, albumData
WHERE
albumData.id=albums.albumID
AND
albums.userID=$id
AND albums.state=0
AND albumData.state=0
"));
반환 된 행을 계산하는 대신 실제로 표시하는 경우 어떻게됩니까? 그러면 실제로 반환되는 내용이 표시되고 OR 절을 추가 할 때 표시되는 신비한 추가 행을 볼 수 있습니다. (PHP 코드를 엉망으로 만들고 싶지 않다면 mysql 명령 줄에 쿼리를 놓을 수 있습니다. 제대로 작동해야합니다.) – octern