Using an instance of PDO class as global variable inside 'query' methods
Use global scope for as little as possible. EVER.

Explicitly passing the connection it into the method is always the safe and happy.  It allows for better testing by adhering to dependancy inversion principles.

You could also do it inside of the constructor if the the connection doesn't change during the life of the object, but I'm not a fan of this--I'd prefer a intitial() method to be called after instantiation or explicitly setting it with a set_connection() method.