是否可以将 mysql 资源提供给 $_SESSION 变量?
//mysqldb.inc.php
class mySqlDb
{
private $link;
public function __construct($_host = '', $_db = '', $_user = '', $_pwd = '')
{
$link = mysql_pconnect(...);
}
public function query($data)
{
$r = mysql_query($data, $this->link);
return $r;
}
}
//index.php
session_start();
include_once('mysqldb.inc.php');
$sqlobj = new mySqlDb();
$sqlobj->dbconnect($db_host, $db_name, $db_user, $db_pwd);
$_SESSION['mysqldb'] = $sqlobj;
//check.php
session_start();
include_once('mysqldb.inc.php');
$sqlobj = $_SESSION['mysqldb'];
$sqlobj->query(...);
$sqlobj->query(...)
返回
致命错误:main():脚本试图执行方法或访问不完整对象的属性。请确保您尝试操作的对象的类定义“mySqlDb”在调用 unserialize()之前已加载或提供 __autoload() 函数以加载 D:\apache\www\check.php 中的类定义第 4 行`
如果我使用$_SESSION['mysqldb'] = serialize($sqlobj)
并且$sqlobj = unserialize($_SESSION['mysqldb'])
我有这个错误:
警告:mysql_query() 期望参数 2 是资源,在 D:\apache\www\mysqldb.inc.php 中给出的整数...