Ok guys i got this problem here:

I got a class i made that creates a link ressource for a mysql database.
Stores it inside of itself with different login and password and other
params. Other functions are also available for usage.

When i start this class it connects fine, i can also use it no problem.
BUT...At one point i start referencing this object to other objects so they
can use one and only one connection.

If one of these alternate objects using the connection does an error, i can
NO PROBLEM get the mysql_error() using the link ressource from inside the
alternate object. If i try to get the error from outside that object in my
top level script lets say, i use the one and only mysql_connection object
and it still fails. it's like it doesn't see the error. (I think it's
because the object is being copied, but i looked at my script several times
and i never see any copy.) My only guess is that a mysql_link resssource is
also an object and gets copied or lost somewhere in the middle.

Can anybody tell me what i could do???

(PS i didn't post all the source and the real login info...tehre is too much
to paste and also, it's too improtant to reveal anything)

SOURCE:
class mysql_connection{
 //Variables
 var $mysql_link;
 var $mysql_username;
 var $mysql_password;
 var $mysql_database;

 //Constructor(Establishes the connection)
 function mysql_connection($hostname, $username, $password, $database){
  //Connection to database
  $this->mysql_link = mysql_connect("$hostname", "$username", "$password");
  if(!$this->mysql_link){
   //Display an error message
   exit("Error connecting to mysql server, contact web administrator or try
again later!");
  }
  //Select the database
  if(!mysql_select_db("$database", $this->mysql_link)){
   //Display an error message
   exit("Error selecting database on mysql server, contact web administrator
or try again later!");
  }
 }
}

class arenas{

 //System objects
 var $mysql_server;
 var $item;

 //Variables/Arrays
 var $indexes = array();
 var $curindex = 0;

 //Constructor
 function arenas(&$mysql_server){
  //Store the server
  $this->mysql_server = &$mysql_server;
  //Build the index
  $this->refresh();
 }
}

$mysql_server = new mysql_connection("localhost", "username", "password",
"database");

//Get the arenas and the current item
$arenas = new arenas($mysql_server);

//At this point i would do a sql query from inside my arenas class that
would raise an error
//If i echo the error from inside the class using
//echo mysql_error($this->mysql_server->mysql_link);
//it works

//if i echo from the script itself like here it doesn't work
echo mysql_error($mysql_server->mysql_link);

//The first one will show something, the second will never show the error,
any clue why?



-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to