Drupal db_query_range SQL-запрос - PullRequest
       11

Drupal db_query_range SQL-запрос

0 голосов
/ 26 марта 2010

Я пытаюсь заставить это работать, и запрос выполняется, но ничего не возвращается. Я перепробовал все, что мог придумать, ты можешь определить, что я делаю не так?

$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>";
}

РЕДАКТИРОВАТЬ - Я разобрался с парой битов, но вывод все еще пуст!

РЕДАКТИРОВАТЬ - это рабочий код:

$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 ]

2 голосов
/ 26 марта 2010

$result - только ресурс mysql (i). Сначала вы должны получить строку / объект.

$result = db_query_range(....);
$object = db_fetch_object($result);
print_r $object;
0 голосов
/ 25 апреля 2011

Если у вас есть диапазон результатов, а не один результат, это должно работать. Вам необходимо сохранить результаты в массиве или обработать их другим способом. для одиночного результата смотрите 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;
}
...