Um die (statischen) Eigenschaften der Klasse anzusprechen, musst du self::$propertyName (also in deinem Fall self::$db_connection) verwenden. Wenn du innerhalb einer Methode das MySQLi-Objekt mit $db_connection = new ... instanzierst, handelt es sich bei $db_connection um eine lokale Variable im Methoden-Kontext und nicht um die Eigenschaft der Klasse.
Bei nicht-statischen Eigenschaften funktioniert das ganze übrigens mit $this->propertyName.