Development:Developer FAQ
From MoodleDocs
How to get/set information when writing new Moodle code
How do I find out the currently-logged-on user?
The global object $USER, which contains the numeric $USER->id among other things.
How do I find out the current course?
...
How do I insert/retrieve records in the database, without creating my own database connections?
Always use the "datalib" functions, such as insert_record() or get_record(). Look at the documentation for datalib.php for more functions and details of use.