Re: [PHP-DB] Caching query results in html pages
I believe a much better solution would be to use MySQL Query Cache. http://dev.mysql.com/doc/refman/5.0/en/query-cache.html Use it wisely and there is a lot of performance gain. Donot simply enable cache for all sql statements. Amit. On 3/13/07, Micah Stevens [EMAIL PROTECTED] wrote: This may work, although I just made it up. I can see already that you'd have some problems with multiple scripts running at once. If a script opens the cache, then a second script saves new cache information before the first script saves it's data, the first script would overwrite the second script's update. Maybe instead of a read at the beginning of script execution, a read at the beginning of each query would be better? Save cache results to a file: ? // script start $querycache = unserialize(file_get_contents(query.cache)); /* $querycache format: array('sql' = array(), 'result'=array(), 'time'=array()); For each sql statement 'sql' you have a result array. */ // run all your queries through a function: function query($sql) { $cached = array_search($sql, $querycache['sql']) // check to see if the result is old if (time() - $querycache['time'][$cached] $max_time) { unset($querycache['time'][$cached]); unset($querycache['sql'][$cached]); unset($querycache['result'][$cached]); $cached = false; } if ($cached) { return $querycache['result'][$cached]; } else { $result = mysql_query($sql); $querycache['sql'][] = $sql; $index = array_search($querycache['sql']); $querycache['time'][$index] = time(); while ($r = assoc($result)) { $querycache['result'][$index][] = $r; } // save cache for other scripts file_put_contents('query.cache', serialize($querycache)); return $querycache['result'][$index]; } } ... It's actually kind of a complicated process now that I'm thinking about it. -Micah On 03/13/2007 06:20 AM, Vincent wrote: Hi all, I'm trying to improve the performance for visitors, and I want to know if there is some way to store the mySQL results of .php scripts in webpages. So, in example, when requesting http://www.mydomain.com/script.php?id=110 , it can be redirected to his cached version http://www.mydomain.com/id110.html. Any code or information would be appreciated, Regards, -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Caching query results in html pages
Amit Patel wrote: I believe a much better solution would be to use MySQL Query Cache. http://dev.mysql.com/doc/refman/5.0/en/query-cache.html Use it wisely and there is a lot of performance gain. Donot simply enable cache for all sql statements. Maybe if you have complete control over the server you can do this. If you're on a shared host, you have no hope - anyone else's queries can knock yours out of the cache and you're back to square 1. Depending on the queries (and whether they are indexed or not) it might not even be worth worrying about attempting to cache - it all depends on the application really (whether the queries are needed, how it handles the results etc). -- Postgresql php tutorials http://www.designmagick.com/ -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-DB] Connecting to MS Access Database using PHP via ODBC.
Hello, Im using PHP to connect to a Microsoft Access database which is not stored on the machine where IIS is installed. It's located on a different file server on the network. I have mapped a network drive to where the database is stored and have used it when creating the System DSN. The problem is the the php script cannot connect. If I move a copy of the database over to the server where IIS is installed and update the System DSN to point to that it all works fine. I was made aware that you could have the database on a different machine and it would work, but this doesnt seem to be the case. Can anyone shed some light on this? Many thanks. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Connecting to MS Access Database using PHP via ODBC.
Sounds like a permission problem. Make sure the IIS user (IUSR_maschine name) has access to the share. - Frank Hello, Im using PHP to connect to a Microsoft Access database which is not stored on the machine where IIS is installed. It's located on a different file server on the network. I have mapped a network drive to where the database is stored and have used it when creating the System DSN. The problem is the the php script cannot connect. If I move a copy of the database over to the server where IIS is installed and update the System DSN to point to that it all works fine. I was made aware that you could have the database on a different machine and it would work, but this doesnt seem to be the case. Can anyone shed some light on this? Many thanks. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php