I'm using a class to connect to my MySql database. I'm registering(in a session) the instance of the class for using in another pages. In the first page it works OK, but in the next page the DBManager->conn appers in 0 and any query work. All I need is to get the same database link(DBManager->conn) in all my pages. I don't want to get connected in every page.
I have the follow class:
class DBManager
{
var $dbname = "mydb";
var $hostname = "myhost";
var $user = "myuser";
var $pass = "mypass";
var $conn;
var $result;
function DBManager()
{
$this->connectDB();
}
function connectDB()
{
$this->conn = mysql_connect($this->hostname,$this->user,$this->pass);
if (!$this->conn)
{
echo mysql_error();
exit;
}
$this->result=mysql_select_db($this->dbname);
if ( !$this->result )
{
echo mysql_error();
exit;
}
}
function selectDB($query)
{
$this->result=mysql_query($query,$this->conn);
if ( !$this->result )
{
echo mysql_error();
exit;
}
$retval=mysql_num_rows($this->result);
return($retval);
}
}
In my first page I have:
<?php
session_start();
session_register('Manger');
$Manager = new DBManager(); //Instance of DBManager
print $Manager->dbname; // I get mydb
print $Manager->conn; //I get "Resource id #5"
?>
In my second page I have:
<?php
session_start();
$Manager = $_SESSION['Manager'];
print $Manager->dbname; // I get "mydb"
print $Manager->conn; //I get "0"
$Manager->selectDB("SELECT * FROM usuario");
//I get: mysql_query(): supplied argument is not a valid MySQL-Link resource in :\apache\apache\htdocs\afv\include\DBManager.inc
I suposs the above message is because the $Manager->conn is 0(lost link I think).
Any body knows How I can keep the $Manager->conn so I can do $Manager->selectDB("Any query") in any page whithout make an instance of DBManager??