2010-03-26 2 views
0

나는이 작업을 시도하고 쿼리를 실행하지만 아무것도 돌아 오지 않습니다. 내가 생각할 수있는 모든 것을 시도했습니다. 내가 잘못하고있는 것을 발견 할 수 있습니까?Drupal db_query_range SQL 쿼리

$nido = $node->nid; 
$result = db_query_range(' 
     SELECT i.nid, i.iid, a.fid, p.filename, p.filepath 
     FROM {drup_image_attach} i 
     LEFT JOIN {drup_image} a ON i.iid = a.nid 
     LEFT JOIN {drup_files} p ON a.fid = p.fid 
     WHERE i.nid = %d AND p.filename = "recipe_thumb"', $nido, 0, 10); 
echo "Filepath = " . $result ->filepath. "<br>"; 
echo "Filepath = " . $result ->filename . "<br>"; 
echo "IID = " . $result ->iid. "<br>"; 
echo "NID = " . $result ->nid . "<br>"; 
} 

EDIT - 몇 비트를 정렬했지만 출력이 여전히 비어 있습니다!

$nodeid = $node->nid; 
$get_image = db_query(' 
    SELECT p.filepath as imagefilename 
    FROM {image_attach} i 
    LEFT JOIN {image} a ON i.iid = a.nid 
    LEFT JOIN {files} p ON a.fid = p.fid 
    WHERE i.nid = %d AND p.filename = "recipe_thumb"', $nodeid); 
$obj_image = db_fetch_object($get_image); 
$imagefilename = $obj_image->imagefilename; 

답변

2

$result는 MySQL의 (I) 자원 : -

편집이 작업 코드입니다. 먼저 행/객체를 가져와야합니다.

$result = db_query_range(....); 
$object = db_fetch_object($result); 
print_r $object; 
+0

흠보기 ... 아마도 SQL에 뭔가가 ... 나는 몹시 드루팔 DAL을 포기하는 유혹하고있어 그냥 그것을 할 일반 PHP/SQL tbh! – MrFidge

+0

안녕하세요 - 당신의 개체 팁 주셔서 감사합니다 :) – MrFidge

0

범위가 있다고 가정하면 결과가 좋지 않습니다. 결과를 배열에 저장하거나 다른 방식으로 처리해야합니다. 하나의 결과를 db_result() 도움이 나타나지 않습니다

$nodeid = $node->nid; 

$get_image = db_query(' 
    SELECT p.filepath as imagefilename 
    FROM {image_attach} i 
    LEFT JOIN {image} a ON i.iid = a.nid 
    LEFT JOIN {files} p ON a.fid = p.fid 
    WHERE i.nid = %d AND p.filename = "recipe_thumb"', $nodeid); 

while(($obj_image = db_fetch_object($obj_image)) == TRUE){ 
    $imagefilename[] = $obj_image->imagefilename; 
}