ERROR en PDO: llamada a una función miembro prepare () en nulo

Tengo un problema con la función prepare ==> Llamar a una función miembro prepare () en null tengo páginas de remolqueclasso.php yindex.php

classo.php:

    <?php 

        class classo
        {

            function connection(){

                $db=new pdo ('mysql:host=localhost;dbname=pronostic','root','');
                $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);

            }



            function insererDonne($pseudo,$password)
            {      
                        global $db;
                        classo::connection();     
                $donne=array(
                    'user' =>$pseudo,
                    'pass' =>$password 
                    );

                $req="INSERT INTO users (user,pass) VALUES (:user,:pass)";

                $sql=$db->prepare($req);

                $sql->execute($donne);

            }



        }


 ?>

index.php:

<?php 


require('classo.php');


$data=new classo();
$data->insererDonne('dsds','tosdsta');


 ?>

¿Tienes una idea de cómo puedo resolver esto? Esta es la primera vez que recibo este error de PHP y soy una especie de nueva codificación en PHP con objetos y clases. ¿Podría alguien ayudarme a solucionar este problema por favor?

Respuestas a la pregunta(1)

Su respuesta a la pregunta