You can always try this the old fashioned way:
SELECT nuke_organization.org_name, nuke_city.city_name, nuke_volunteer_opor.op_id,nuke_volunteer_opor.op_duty
FROM nuke_organization , nuke_city, nuke_volunteer_opor
WHERE nuke_organization.phyadd_city = nuke_city.city_id
AND nuke_organization.org_id=nuke_volunteer_opor.op_contact_org
AND
(nuke_organization.org_name like '%Niagara%'
OR nuke_organization.org_desc LIKE '%Niagara%' )
PS: IMPORTANT: What does 'worked' mean...as in this 'work'ed on my local server but didn't 'work' on www?
If the query is executing without a mysql_error(), but you are sad because no rows are being returned, then the problem is with your data on the www machine.
If you've verified that the query executes,
you'll have explore the rows output on both machines for variance.
Compare:
Query 1
SELECT nuke_organization.org_name, nuke_organization.phyadd_city , nuke_organization.org_id
FROM nuke_organization
WHERE (nuke_organization.org_name like '%Niagara%'
OR nuke_organization.org_desc LIKE '%Niagara%' )
that should return 1 or more org_ids
SELECT nuke_volunteer_opor.op_id,nuke_volunteer_opor.op_duty , nuke_volunteer_opor.op_contact_org
FROM nuke_volunteer_opor
WHERE nuke_volunteer_opor.op_contact_org IN ($ReturnedOrgID1, $ReturnedOrgID2...)
Query 1 should also return 1 or more phyadd_city
SELECT nuke_city.city_name
FROM nuke_city
WHERE nuke_city.city_id IN ($ReturnedCITYID1, $ReturnedCITYID2...)
My guess is that this is a DATA problem, not a query problem