Inserting OAuth data into a database
I don't know that my code is vulnerable to SQL injection.


Yes, it is. 

You should never put any variables directly into SQL statements. Even if you think that the variables may possibly be safe, it's just really bad practice, and you will mess it up sooner or later. In your case, an attacker could use the profile fields, which would very likely lead to SQL injection (this depends a bit on the input filter for the profile fields, but I would be surprised if it caught all injections, and you should definitely not rely on it).


  Should I have to use prepared statements and rewrite the code. 


Yes. Prepared statements are the only reliable way to prevent SQL injection, and you should never write any SQL statements without prepared statements. It is bad style and very insecure.

Misc


You really don't want to display errors in production. 
You have too much vertical whitespace.
Some may disagree, but 2 spaces for indentation makes code harder to read. If you need this because your code is too nested, remove some levels of nesting instead of removing indentation. 
functions.php is quite a generic name. It also doesn't fit it's content at all. As it contains a class, it should have the same name as the class (possibly with .class added).
You should create your database connection only once, and then pass it to the functions needing it, instead of creating a new connection for each object needing it.
don't shorten variable names, just write them out.
don't die in functions, it makes it hard for the calling code to handle.