I am using somone's code as example because i dont really understand it.
This is a small part of the code which i am using as example.
Here is the code:

class MySQLDB
   var $connection;		 //The MySQL database connection
   var $num_active_users;   //Number of active users viewing site
   var $num_active_guests;  //Number of active guests viewing site
   var $num_members;		//Number of signed-up users
   /* Note: call getNumMembers() to access $num_members! */

   /* Class constructor */
   function MySQLDB(){
	  /* Make connection to database */
	  $this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS) or die(mysql_error());
	  mysql_select_db(DB_NAME, $this->connection) or die(mysql_error());
	   * Only query database to find out number of members
	   * when getNumMembers() is called for the first time,
	   * until then, default value set.
	  $this->num_members = -1;
		 /* Calculate number of users at site */
		 /* Calculate number of guests at site */

Can anyone explain me what does $this->connection mean another words what does $this really do and how it works.

11 Years
Discussion Span
Last Post by Daishi

$this->connection is a variable representing the mySQL connection.
you're assigning that connection to $this->connection, although, I would rename it


So its basically just renaming the connection to $this->connection.


Can anyone explain me what does $this->connection mean another words what does $this really do and how it works.

In PHP, as with most object oriented languages, $this is a reference variable that allows access to members variables of the class $this is used in. For example:

class NumberClass {
    var $number;

    function printNumber() {

Will print the value of that class's $number variable, whatever that may be for the particular object. Somewhere else in code you could do this:

$numberObject = new NumberClass();
$numberObject->number = 5;

And the output would be 5. Hope that helps explain the $this variable a bit.


This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.