You are passing a string as the parameter for "jobTitle"
<a href="Careers Results.php?jobTitle=Animator">
Then you are forcing that string to be an integer and comparing it to the original value (a string). A string and the integer value of a string will NEVER be the same.
if( (int)$id == $id && (int)$id > 0 ) {
Assuming your job titles have an ID (integer) and a Name (string value), you should craft your links to pass the ID as the parameter and not the Name. Use the Name as the text for the link:
<a href="Careers Results.php?jobTitleId=5">Animator</a>
Then, on your receiving page you can use that value as you intended. Not, you do not need to use those comparisons. Just force the value to an integer and run your query. If the value is 0 or a negative value it will just return an empty result set - which you need to account for anyway:
$jobTitleId = isset($_GET['jobTitleId']) ? (int)$_GET['jobTitleId'] : 0;
$link = mysqli_connect('localhost','MYUSERNAME','MYPASSWORD','MYDATABASE'); // Connect to Database
if (!$link) {
die('Could not connect: ' . mysqli_connect_error());
}
$sql = "SELECT * FROM careers WHERE jobTitle = {$jobTitleId}";
$result = mysqli_query($link,$sql);
$row = mysqli_fetch_array($result);
if(!$row)
{
echo "Record NOT FOUND";
}
else
{
echo $row['jobTitle'];
echo $row['jobDescription'];
}
Also, you really need to look into using prepared statements.