$knowntide = strtotime('1117284300');
When I run this I get -1 back, meaning that strtotime can't determine what date you are specifying. This number, 1117284300, doesn't mean anything to me. Perhaps it's already a unix timestamp? In that case skip the strtotime.
$current = date(U);//the "now" gave errors
My fault. now() is a mysql function. You really wanted time().
echo ($last_tide + $num_tides_passed + 7200)
This doesn't make much sense to me. $last_tide is a unix timestamp, and $num_tides_passed is an integer representing the number of tides passed (ie, the number of interval values to add). When adding them together you're treating $num_tides_passed as seconds, which doesn't seem to have any meaning. (If you're trying to get the next tide try adding $interval instead, since that's the number of seconds between tides.)