比如:我在  1.php 中进行数据查询,保存到数组  $data  中。
我在  2.php 3.php 4.php 5.php 等多个 PHP 文件中需要使用这个查询结果,
如果在每个文件中都在执行一次查询,感觉太浪费资源了,有什么比较好的方法解决这个问题吗?

解决方案 »

  1.   

    这样的话,那就保存在临时会话session里吧
      

  2.   

    我用 全局变量可以吗?
    全局变量和 session 有什么区别吗?
    如果用缓存,我可以在查询后,把结果保存在缓存中,在用完后,把缓存释放吗?新人,谢谢了!
      

  3.   

    什么数据啊,
    用include 之接引入这个取出了数据的php文件不是一样吗?
      

  4.   

    用 include 的话,不久每个文件都执行了吗?include 是这样的意思吗?2.php 文件
    <?php 
    include "1.php"    ?>如果执行 2.php 时,先执行  1.PHP 的内容,是这样吗?如果是这样,那么我在 1.PHP 中执行查询,那么所有的文件不就都执行查询吗?
      

  5.   

    session 是这么用吗?
    如果保存数组,
    session_start();  
    session_register('data');   在对 $data[] 数组赋值?还是线对  $data[] 数组赋值,在调用  session_register('data');    注册?
      

  6.   

    如果跟具体用户有关,可以用session,也可以用缓存
    跟用户无关的话只能用缓存了
      

  7.   


    //1.php
    $data = array();//查询到的数据
    $_SESSION['data'] = $data;//2.php
    var_dump($_SESSION['data']);//即$data数组//3.php
    unset($_SESSION['data']);//用完释放
      

  8.   

    如果缓存的话,怎么做,我看网上有这么做的,
    $file = 'sql_cache.txt';$link = mysql_connect('localhost','username','password') or die (mysql_error());mysql_select_db('shop') or die (mysql_error());/* 构造SQL查询 */$query = "SELECT * FROM categories";$result = mysql_query($query) or die (mysql_error());while ($record = mysql_fetch_array($result) ){    $records[] = $record;}$OUTPUT = serialize($records);$fp = fopen($file,"w"); // 以写权限的方式打开文件fputs($fp, $OUTPUT);fclose($fp); 写入一个文件中了。还有直接打开配置,让 MYSQL 自己缓存的,到底哪个正确,哪个方法好呢 ?
      

  9.   

    用session吧,簡單一點,查詢出來的數據一樣可以共享其它頁面!