Drupal db_query_range SQL查询

问题描述:

我试图让这个工作和查询执行,但没有回来。我试过了我能想到的一切,你能发现我做错了什么吗?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>"; 
} 

编辑 - 我整理了几位,但输出仍然是空的!

编辑 - 这是工作代码:

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

$result只是一个MySQL(我)资源。您首先必须获取行/对象。

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

嗯......也许有东西在SQL ..我非常想放弃的Drupal DAL,只是做在纯PHP/SQL tbh! – MrFidge 2010-03-26 14:11:11

+0

hiya - 得到它的工作,感谢您的对象提示:) – MrFidge 2010-03-29 16:28:29

假设你有一个范围OB结果而不是一个单一的结果这应该工作。您需要将结果存储在数组中或以不同的方式处理它们。对于单个结果看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; 
}