No, it does not like the ON clause with the implicit join (just listing tables with a comma). My fault, should have checked what I was copy/pasting.
Just copy/paste this exactly
$sql = "SELECT t2.description, t2.taste, t2.uses, t2.benefits, t1.name, t1.image_url, t1.product_url
FROM clproducts AS t1 INNER JOIN teainfo AS t2 ON t1.offer_id=t2.offer_id_info";
Now, sql is one language that will murder you if you get into bad habits: and the short-cuts that mysql accepts are some of the worst habits you can ever develop. Oh fine! You can save a few key strokes here and there, then you try and work with another db and see what happens.
So, over the years I have developed certain practices, and forget that not everyone else uses them. I ALWAYS specify join types explicitly, always specify join conditions with ON or USING, never a WHERE clause. Most times it makes no difference, but when it does it really matters.
PS you got something on the page because of the 'or die($sql . '<br />' . mysql_error())' bit. Basic construction to use when developing your scripts so you can see what is going wrong. You should always use it when developing a page or site, and remove it from the live version. Either output something for the user, or add @ to suppress any error messages.