I have been turning and twisting this to the best of my non-existing PDO knowledge, but still without any luck.
the code:
function write($id, $data) {
        global $dbcon;
        $id = mysql_real_escape_string($id);
        $data = mysql_real_escape_string($data);
        $sql = $dbcon->exec("INSERT INTO `sessions` 
                                        (`session_id`, `session_data`, 
                                         `session_expire`, `session_agent`, 
                                         `session_ip`, `session_referrer`) 
                                        VALUES
                                        (\"".$id."\", \"".$data."\",
                                         \"".time()."\",\"".($this->session_encryption($_SERVER['HTTP_USER_AGENT']))."\",
                                         \"".($this->session_encryption($_SERVER['REMOTE_ADDR']))."\", \"".($this->session_encryption((isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_^~@&|=+;!,(){}[].?%*#'))))."\")
                                        ON DUPLICATE KEY UPDATE 
                                        `session_data` = \"".$data."\",
                                        `session_expire` = \"".time()."\"");
        return true;
    }
Give me the following error:
Fatal error: Call to a member function exec() on a non-object
on the
$sql = $dbcon->exec(
line. I have been trying to solve this all evening, but without any luck.
This is my PDO connection script:
require_once(INC_PATH.'/config.php');
$dsn = "$db_type:host=$db_host;port=$db_port;dbname=$db_name;charset=$db_charset";
try{
    $dbcon = new PDO($dsn, $db_user, $db_pass);
    $dbcon->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //$dbcon = null; //Close database connection.
}
catch(PDOException $e){
    echo $e->getMessage();
}
Hope one of you kind souls out there can help me, I would deeply appreciate it!
Thanks.
UPDATE: I have a global.php file which looks like this:
//Load database
require_once(INC_PATH.'/database.php');
//Load session handler
require_once(INC_PATH.'/class_sessions.php');
$Sessions = new SessionManager();
session_start();
The database.php is included before the sessions class, and when I view the website, it does not give any errors on this part of the sessions class (which is before the write function:
function read($id) {
        global $dbcon;
        $data = '';
        $id = mysql_real_escape_string($id);
        $sql = $dbcon->prepare("SELECT 
                                `session_data` 
                            FROM 
                                `sessions` 
                            WHERE 
                                `session_id` = '".$id."'");
        $sql->execute();
        $a = $sql->columnCount();
        if($a > 0) {
            $row = $sql->fetchObject();
            $data = $row['session_data'];
        }
        return $data;
    }
 
     
    