我正在尝试将数组存储在缓存中,但是我收到了错误:
md5()期望参数1为字符串,对象在
中给出
以下是代码:
function getList(){
global $meminstance;
$query = $this->connection->prepare("SELECT id FROM " . TBL_LIST . " ORDER BY name");
$query_key = "KEY" . md5($query);
$list = $meminstance->get($query_key);
if (!$list){
$query = $this->connection->query("SELECT id FROM " . TBL_LIST . " ORDER BY name");
$list = $query->fetch(PDO::FETCH_ASSOC);
$meminstance->set($query_key, $list, 0, 600);
}
return $list;
}
错误是什么意思?我做错了什么?
答案 0 :(得分:0)
您尝试使用md5对象而不是字符串。也没有什么可以准备的。
试试这个。
function getList(){
global $meminstance;
$sql = "SELECT id FROM " . TBL_LIST . " ORDER BY name";
$query_key = "KEY" . md5($sql);
$list = $meminstance->get($query_key);
if (!$list){
$query = $this->connection->query($sql);
$list = $query->fetch(PDO::FETCH_ASSOC);
$meminstance->set($query_key, $list, 0, 600);
}
return $list;
}