Как конвертировать PHP массив в ресурс Mysql - PullRequest
1 голос
/ 08 сентября 2010

У меня есть следующий сценарий. Я должен выполнить запрос и затем сохранить его в памяти, и если мне снова понадобится тот же результат, чтобы получить его из памяти.

Хранение и чтение из памяти производится с помощью memcache. Проблема заключается в том, что если вы храните информацию в массиве по одному, то нужно обработать два случая: 1 для типа ресурса и один для типа массива.

Вопрос в том, смогу ли я преобразовать массив в тип ресурса Mysql.

Спасибо.

1 Ответ

2 голосов
/ 08 сентября 2010

сделать что-то вроде этого

<?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 для хранения сериализованных данных, а не файловой системы

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...