Re: [PHP] OOB problem, super stumped.
- From: lists@xxxxxxxxx (Jim Lucas)
- Date: Wed, 30 May 2007 14:53:03 -0700
Brian Seymour wrote:
Jim,no, you are looking at three different scopes here.
I put the link identifier back and made your recommended changes and now
everything works perfect. Can't thank you enough.
Is the reason you have to call the parents __construct() method because the
open mysql connection only exists within the scope of the object it was
created in, unless specified otherwise(calling parents constructor)?
One is the mysql_* function in general. The resource $link_identifier is completely optional.
Read the parameters section and link_identifier section
http://us2.php.net/mysql_query
Now, since you are dealing with two different classes, SQL and Authentication, you are deal with yet another two different scope, one for each class.
SQL, by itself has a scope that contains your original $this->conx property. It only exists within your object called $database.
Now, the final scope is within the Authentication object $auth. Since Authentication extends the SQL classes it will inherit a new/different instance of the SQL class/object. Now, since it is a new copy of the SQL $this->conx does not exists. So, to make the SQL class that is being inherit have the $this->conx property, you have to call the __construct() method for the parent/SQL class.
Hope I haven't confused you even more.
Ask away if you have any questions.
Brian Seymour
AeroCoreProductions
http://www.aerocore.net/
-----Original Message-----
From: Jim Lucas [mailto:lists@xxxxxxxxx] Sent: Wednesday, May 30, 2007 12:02 AM
To: Brian Seymour
Cc: 'php php'
Subject: Re: [PHP] OOB problem, super stumped.
You didn't call the __construct() method of your parent.
The above code, should be like this
public function __construct($host,$user,$pass,$dbname = null) {
parent::__construct($host,$user,$pass,$dbname);
echo "Auth constructed";
}
You were forgetting to call to the parent and have it initialize the DB connection.
In the second part, the $auth->verifyCreds() call, it didn't create a valid db connection to pass as the second arg to the mysql_query() call.
And by not passing the $this->conx as the second arg, you are telling it to "use the most recently opened mysql connection.
Hope this clears up why it was failing on the latter mysql_query() calls.
--
Jim Lucas
"Some men are born to greatness, some achieve greatness,
and some have greatness thrust upon them."
Unknown
.
- References:
- RE: [PHP] OOB problem, super stumped.
- From: "Brian Seymour"
- RE: [PHP] OOB problem, super stumped.
- Prev by Date: Re: [PHP] Re: find (matching) person in other table
- Next by Date: Re: [PHP] preg_match() returns false but no documentation why
- Previous by thread: RE: [PHP] OOB problem, super stumped.
- Next by thread: php via cmdline including unwanted headers
- Index(es):
Relevant Pages
|