【发布时间】:2011-03-19 15:10:43
【问题描述】:
为了记录,我正在使用带有 XAMPP (PHP 5.3.1) 的 Windows Vista。
我正在尝试使用 APC 来缓存数据库结果。我对字符串变量做了一个简单的 APC 测试,它似乎工作正常。但是,当我尝试对数据库结果资源执行相同操作时,我会抱怨缓存中的数据“不是有效的 MySQL 结果资源”。
这是我的代码:
$key_hash_str = md5($query_sql_str);
$cache_res = Mox_Cache_APC::fetch($key_hash_str);;
switch(true)
{
case (!$cache_res):
$query_result_res = self::executeQuery($query_sql_str);
Mox_Cache_APC::store($key_hash_str, $query_result_res);
return $query_result_res;
break;
default:
return $cache_res;
}
Mox_Cache_APC 是我的 APC 类,而 fetch 和 store 只是 apc_fetch() 和 apc_store() 的抽象。 executeQuery 是在编写此代码的类中定义的静态函数(很明显,用于执行查询)。
我做错了吗?在缓存结果集之前我需要对它做些什么吗?
请多多指教。
【问题讨论】:
-
你能做 print_r($query_result_res) 并发布结果吗?
-
我刚刚做了 print_r(),这就是我在下面得到的:资源 id #16