Omar's answer is correct. For more detail, look at the documentation of fetchAll: PHP docs for fetchAll
The skinny is that fetchAll returns an indexed array of all rows from your query, and each if those indexed arrays contains an associative array of keys and values. As a result, the data you want is stored in $studentFunds[0]['studentFunds']
Since fetchAll returns an array, troubleshooting answers to questions like this should go much more quickly if you use print_r instead of var_dump. print_r's output formatting is much more suitable for picking apart (making sense of) arrays.
As a matter of practice, you should also wrap this into some form of sanity checking in case, for example, the passed-in $studentNum is invalid or not found in the database or if multiple records are found. Something like this:
$oldAmount = 0;
if( is_array( $studentFunds ) && count( $studentFunds ) == 1 )
{
$oldAmount = $studentFunds[0]['studentFunds'];
}
You're asking for ugly errors, or worse, results from unexpected records to be printed to the interface if you fail to do at least basic sanity checking of the query results.