如何将PHP数组转换为Mysql资源

时间:2010-09-08 06:28:52

标签: php mysql resources memcached

我有以下情况。我必须运行一个查询,然后将其保存到内存中,如果我再次需要相同的结果从内存中获取它。

使用memcache存储和读取内存。问题是,如果您一次只保存一个数组中的信息,则必须处理两种情况:1表示资源类型,1表示数组类型。

问题是我是否可以将数组转换为Mysql资源类型。

感谢。

1 个答案:

答案 0 :(得分:2)

做这样的事情

<?php

$db = mysql_connect("localhost","foo_dbo","pass") or die("Database error");

mysql_select_db("foo_db", $db);

$sql = "select * from posts;";

$file = sprintf("%s.dat", md5($sql));

$result = mysql_query($sql);

if (!$result) die("Invalid query: " . mysql_error());

while ($row = mysql_fetch_assoc($result)) $data[]=$row;

mysql_free_result($result);
mysql_close($db);

if($fp=fopen($file,"w")){
    fwrite($fp,serialize($data));
    fclose($fp);
}

?>

然后读回数组做类似的事情

unserialize(file_get_contents($file))

显然你使用memcache存储序列化数据而不是文件系统

希望这会有所帮助