Handling access to database connection both inside and outside of classes
Use the global keyword to make globals accessible from inside of methods and functions:

class KD_sql 
{
    public static function get_recipes()
    {
        global $dbh; // *** ADD THIS ***

        $qry = $dbh-&gt;query('SELECT * FROM recipes');
        $get = $qry-&gt;fetchAll();
        return $get;
    }
}


http://www.php.net/manual/en/language.variables.scope.php

Should you use globals for this?  That is another topic completely.