[support] Drupal 5 db_query
    Fred Jones 
    fredthejonester at gmail.com
       
    Mon Sep 22 22:47:26 UTC 2008
    
    
  
> I must be misunderstanding the issue .. I understood the OP's use of mysql_*
> as simply being for demonstrative purposes to show the difference in the
> returned results, and the actual question being why does db_query return a
> result of 0 for COUNT(*) when mysql_query returns a result of 4 for
> COUNT(*).
That is precisely correct.
> I'd also like to know what the actual string value of $countsql
> is, and like Michael said, whether the query is being rewritten by another
> module.
Yes, it is rewritten I believe. Here is the actual code in question:
	$r = pager_query($sql,10,0,$countsql);
	$rows = array();
	$output = '';
	while ($row = db_fetch_array($r))
	{
		$rows[] = $row;
	}
	if (0 == count($rows))
	{
		$output = '<p>No results found</p>';
	}
I am getting the "No results found" whereas there should be 4 rows
found. That last if has an else clause to display those, when found.
Here is the SQL:
SELECT COUNT(*) from
	(SELECT field_article_title_value FROM
	(SELECT content_type_book.field_article_title_value, term_node.tid,
node_revisions.nid
	FROM (( node_revisions left join node on node.nid = node_revisions.nid )
		left join content_type_book on content_type_book.nid = node_revisions.nid )
		left join term_node on term_node.nid = node_revisions.nid
	WHERE (1=1)
	and ((UCASE(content_type_book.field_article_author_value) like
UCASE('%Black%')))
	and (1=1)
	and (1=1)
	and node.type='book' group by node_revisions.nid order by
node_revisions.nid ) as XXXXX
group by field_article_title_value, tid order by nid ) as temp_table;
Thanks.
    
    
More information about the support
mailing list