Re: [PHP-DB] Caching query results in html pages

2007-03-15 Thread Amit Patel

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

2007-03-15 Thread Chris

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.

2007-03-15 Thread ABCOM Support
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.

2007-03-15 Thread Frank M. Kromann
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